|BSP .97f - 2/17/2019|
| Added game.cfg option "use_floating_point_precision" to enable loading and saving floating point plane values. Enabled by default. Surface/texture values will support floating point values, and mouse-based brush rotations will be smooth and not deform.
While creating brushes with mouse dragging, the brushes will be outlined in the current group color in the XY views.
Fixed crash when dragging multiple brush faces.
Fixed XY title bars not updating zoom/scale values.
Fixed flip/rotate commands not working when entities were also selected.
Flip/Scale/Rotate/Subtract/Clip Current Face commands will be grayed out when there is no selection.
Carve/Split/Flip Clipper options will be grayed out when there is no clipper.
Fixed FGD parser to accept long descriptions on choices (currently ignored).
The FGD parser will not report an error for unspecified default choices when the default is blank or not specified.
Fixed crash when clicking after the last group in the group window.
Fixed missing scrollbar on the Load Texture dialog.
Always show options under the File menu to load .pts leak files since some Q2 compilers still generate them.
|BSP .97c - 8/20/2018|
| Added a vertex subtraction tool which subtracts vertices from the world that are contained within the selected brushes.
Turned on "Snap Back" by default.
Shearing (Alt+Shift+Left mouse) will pick the single nearest face to shear instead of becoming a vertex drag if used on a brush corner.
Removed popup when moving the selection into a hidden group. The selection will move to the hidden group and become hidden.
Fixed spacing issue with lights generated by Make Lights.
Fixed popup loop which happened when adding a brush to a hidden group and canceling.
Small rendering perf improvements.
Fixed problem with "rotate brush" dialog not showing (ctrl+R).
Download the new version here
|BSP .97b - Update - 5/18/2018|
| Fixed rendering bug where some frames were skipped when first moving the camera.
Mirror commands are fixed.
Fixed a crash that could happen when selecting an entity key with multiple entities selected.
Updated the Hexen2 game.cfg, also added a hexen2.fgd.
Download the new version here
|BSP .97a Released - 2018 - 5/13/2018|
Updated rendering engine which makes camera movement smoother and supports simultaneous movement keys and mouse look. Hold shift to move at double speed. This change also replaces "run mode" and is always enabled.
Added "fps" setting to control render rate for both software and GL render modes, default 60.
Changed default keys: WADS to move, keys Q E turn left and right, keys R F move up and down. Load .wad is now Ctrl+W. Surface window toggle is now Z. Extrude is now Ctrl+F. Copy is Ctrl+C. Split clipper is the X key.
Added "gl_anti_alias" option to render anti-aliased lines in GL mode.
Improved the look of brush outlines in the GL mode 3D window (even with anti-alias disabled).
Entity names can now be shown in the GL mode 3D window.
Redesigned entity window with an inline property editor.
Support for loading .fgd entity files.
The entity editor now updates all entities in the selection. When multiple entities are selected, only common keys will be shown.
Added an automatic window layout mode. Layout updates on resize unless using a saved slot. Can switch between automatic layout mode and saved window slots.
Updated Quake1 export scripts to target ericw's compiling tools (https://ericwa.github.io/ericw-tools). Download and extract in the BSP quake1\bats\bin directory.
Added a new toolbar to group the commands specific to the 3D window. Includes buttons to switch to brush and face texturing modes. Added "SameLine" option in bspbars.cfg to keep the third toolbar on the second row.
Added a new color to differentiate entity connection lines going to or from the selected entity.
Fixed cases where entity connection lines were not drawing with their regular color in the 3d window.
Entity connection lines will show if either end of entity is off the screen.
Entity connection lines will redraw while moving entities.
Fixed bug where entities disappeared if moved after an undo.
Added "isolate selection" command to make a region containing only the selected brushes (keyboard 'I').
Added "hide selection" command to hide selected brushes from the current region (keyboard 'H').
Added toolbar buttons: toggle regions, hide selection, isolate selection, reset the region.
Removed the toolbar buttons for creating a region shaped by the selected brush, though the functionality is still available in the Group->Region menu.
When regions are enabled, the XY view grid will now draw beyond the region boundary.
Fixed "look at selection" not working after deselecting an entity.
Fixed some cases where making certain types of changes would not ask to save the map before exporting.
Loading a .wad will add it to the "wad" key instead of showing a reminder.
Unloading a wad or texture directory will unload only from the current map instead of all maps.
Surface window will toggle correctly with the Z key. Previously, if the window was behind others, it needed 2 keypresses to bring to front.
Added option to choose skin number in models.ini. Added yellow and red armor to Quake1 models.ini.
Added option to Export menu to enable saving automatically before exporting.
Reorganized the Window menu, removed the default window arrangement options (tile, cascade).
Setting steps_per_turn can be updated without restarting the editor.
Editing of entity classname and origin keys is prevented in the editor. Edit and reload the .map if a workaround is needed.
Fixed issue with obscured text in the 3D window angle controls.
Exporting a map that is being saved for the first time will use the correct filename instead of "default".
Unselected brushes beyond +/-8192 will be visible in side XY views.
Fixed crashes that could occur after loading or saving prefab .mrg files.
Grid lines and grid dots have separate color settings now.
Attempting to add a brush to a hidden group will ask to show the group and stop, instead of asking to show the group after adding a hidden brush.
New groups will have a default random color and not prompt with the color dialog. Color can still be chosen later.
New groups will have a default name in the prompt so they can be created quicker.
Group visibility in the group list will toggle with 1 click on the checkbox.
Group window will always show text drawn in the group color instead of switching the color to black or white.
Groups can be moved to the top of the list.
Improved performance when showing the dot grid in XY views.
Fixed a bug where using add/remove detail may have crashed if used in non-Quake2 modes. The detail commands are functional in Quake2 mode only.
High-res textures will rebind after changing gl_highres_path.
The new game_exe setting configures the game to launch when exporting. This is the second parameter passed to the export .bat files.
The map_export_path setting configures where to copy compiled maps to run. This is the third parameter passed to the export .bat files.
Added an export button to the main toolbar. This runs the first exporter shown in the Export menu.
Fixed some error popups that could get hidden behind the main window and steal input.
Fixed undo to work after applying face/brush texture using the mouse in the 3D window.
Reordered and renamed some items in the 'Make' list. Default option makes a Room.
The Make option "Extrude faces" will use the original texture of each face.
The command "Extrude face" (Ctrl+F) will texture each face of the new brush based on the edges and faces of the source brush.
Sky textures are animated in the texture window again.
When opening a Quake2 .map, the texture directories will be loaded based on textures used in the map file. When creating a new map, if default_wad is set in the game.cfg, the texture directory matching the wad filename will be loaded (eg, specifying "pball.wad" will load the "pball" texture directory. It will not actually try to load pball.wad, just use its name). Otherwise, press 'L' to load a Q2 texture directory.
On startup, the "Choose Game" dialog will highlight the last game used from the previous editing session.
Fixed flickering window titles.
If window borders look distorted in Win8/Win10, try running BSP in Windows 7 compatibility mode. Right-click bsp.exe, choose Properties, go to the Compatibility tab, and choose Windows 7 in the dropdown.
Renamed "Move selection to XY" to "Move Selected Brushes to XY center" and moved it to the edit menu.
Moved the recent files list into the main File menu.
Fixed a bug in the recent file list where it sometimes opened the wrong map.
Fixed a bug with exit not saving some maps if multiple maps were open.
Added experimental .svg exporter which saves a top-down vector image of the map, and another for exporting a wireframe of the 3D view. Run with "cm_export_svg" or "cm_export_svg3d" from the console window.
Added experimental .bsp file loader. Loads the entities into the map. In GL mode, the .bsp wireframe will be drawn in the 3D view (it does not add editable brushes or load textures). Can also load a .bsp by dragging the file onto the main window, or load a .bsp into the current map with CM_BSP_LOAD. The command CM_BSP_UNLOAD will hide the 3D wireframe but the entities will stay in the map.
"Texture search" dialog supports finding multiple textures separated by semicolon.
The selection tool in XY views (shift click and drag) now selects the brushes exactly touching the selection rectangle, instead of selecting based on the rectangular bounds of each brush. This fixes the problem where brushes with diagonal sides could be selected when selecting empty space.
Revert entities to world will work for all selected entities instead of requiring a single selection.
Revert entities will only revert the selected brushes, instead of reverting the entire entity.
Added "Move Brushes into Entity" command in the Edit menu. This will move selected brushes into the selected entity. The selection must contain at least one world brush to move, and contain one non-world entity as the target.
Brush subtraction is limited to worldspawn brushes as a workaround to some bugs.
Fixed issues with XY outline color changing inconsistently after selecting entities. The expected behavior is that when a non-world brush or entity is selected, other brushes will dim to the "color_otherbrush" gray color.
Removed "show_hits" and CM_TOGGLE_HITS since it is not implemented. To cycle hit brushes, hold shift and hold the left mouse button over a stack of brushes in the XY view.
Cycling hit brushes with the mouse will redraw all XY views.
Tooltips show the keyboard shortcut.
Selected entity names are drawn with the selection color.
Quake1 pak_file option in game.cfg supports multiple pak files separated by semicolons. Required .pak files must be specified in game.cfg to be able to load models specified in .fgd files.
Updated the Hexen2 game config and added it back to the default list of game modes.
|BSP .96d Released... - 10/10/2007|
.EXE Only release, so copy over a BSP .96 install.
BSP can load "highres" textures now. This works by finding tga,jpg, or png images in the configured highres
directory that match the .wal texture name. Yes, wals (texture directories and .wads) are still needed to
determine the name of the highres texture.
The highres texture path accepts a semicolon-separated list of paths. if the path is set to "A:\;B:\;C:\", for
the texture "tex", BSP will first search for "A:\tex.jpg", "A:\tex.tga", "A:\tex.png". If not found, it will
search in directory "B:\tex...", then "C:\tex...". If not found, it will just use the wal texture.
All highres textures in the highres texture directories are loaded into memory at once. If you do not have
enough memory (video or system), BSP will crash or stop responding! If you have a low memory system, create
a highres directory that has only the textures you need for your map. Loading all textures from the Quake1
Retexture Project on my system bumps BSP memory usage close to 400mb.
Next, if you are loading a lot of highres textures, don't panic, it may take some time. Watch the load
progress on the status bar at the bottom left.
If BSP renders really slow with highres textures, make sure "gl_texturemode" is set to "GL_NEAREST_MIPMAP_NEAREST"
To use skyboxes, put your skybox textures in a directory. Set "gl_skybox_path" to that directory. Set "gl_skybox_name" to the name of the skybox BEFORE the up/bk/lf/rt/dn/ft in the filename (and underscores can be ignored). For example, if one of your skybox textures is "purple_chaos_bk.png", set the name to just "purple_chaos". Then set "gl_skybox" to 1.
The Squirrel scripting engine was added (try typing "print(2+2)" in the console, it cannot do much more than this, anyways). If you mistype something in the console and see a funny error message, this is why. The only functions implemented into it are "set" and "cmd". In the console: 'set("gl_highres",1)' is equivalent to 'gl_highres 1', and 'cmd("cm_filenew")' is equivalent to 'cm_filenew'. Sorry it is not more exciting than that.
There is a debug command named "cm_hack". It will combine the XY and 3D views into one window. It is buggy and incomplete.
Download the new version here
Added new support for loading jpg,tga,png image formats.
Added "gl_skybox" setting, set to 1 to enable skyboxes. "gl_skybox_path" sets location of skybox images. "gl_skybox_name"
sets filename of skybox to load. Name matches to 6 images ending with up,dn,ft,bk,lf and rt before the file extension.
Added command "CM_LIST_SKYBOX" to display a list of skyboxes in the configured directory.
Added "gl_enable_stencil" setting. Required for skyboxes, but can be disabled if necessary.
Added high-res texture support in GL mode. High-res textures are loaded from a specified directory and match the original
.wal texture name. Added two settings to the "Game" group so textures can be configured per game: "gl_highres" to
enable/disable high res textures, and "gl_highres_path" to set a semicolon-separated list of paths to search for textures.
Using high-res textures will increase your memory usage and may slow down rendering a bit. :)
Entities can be rendered translucent with "gl_trans_ents" setting.
Improved handling of leak files. GL mode will render .pts and .lin with thick lines.
Fixed crash on Win98 when opening help file.
"Replace texture" will update 3d view.
Added command "CM_SHOW_PALETTE" to display the current palette.
Added drag and drop capability - open maps and images (jpg,tga,png) by dragging files onto the main window.
Removed "BSPBuild" support (sorry if you used it, I had plans to replace this that went unfinished)
|Tip to enable vertex dragging - 7/18/2007|
| In the newest release, one rather important feature was left disabled in the included Bsp.cfg.
The setting "vertex_select_mode" should be set to option "2" instead the default
of "0" so vertex dragging can be enabled. |
Also, I forgot to add an option to the menu to show the new preferences dialog with all settings visible.
To get around this, the main preferences dialog can be accessed by opening the Color dialog and choosing "All" from
the Group dropdown list. The command to show the new preferences dialog is CM_BSPSETTINGS.
|BSP .96c update for Windows 98 users - 7/14/2007|
| This update fixes the issue of "Save" and "Open" dialogs not showing
under Windows 98. It is necessary to download only if you plan to
run BSP on Windows 98. This is an executable update and must be copied
over a BSP .96b install. Download the update here.
|BSP .96b Released! - 7/10/2007|
Lots of fun new features, get it before Quake goes out of style! |
EDIT: A quick adjustment was made to the version number in the .exe (forgot to change 'a' to 'b'). And just a
reminder that the help file has been updated and that there is an HTML version of the documentation
available on the website.
Download the new version here
Changes and New Features for BSP .96b
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.
|Development update - 7/6/2007|
| Just an update that BSP development is still underway and a new version will be completed soon.
Here are some screenshots of new features to come.
Show wireframe through selected objects.
New preferences interface.
BSP console window, allows changing settings and executing commands. Features tab complete and a
history buffer. Error and diagnostic messages are printed here, too.
|BSP .95e Released! - 1/7/2007|
|This release fixes some bugs and adds a few minor features.
This is an .exe-only release, so copy it over an existing install of .95c.
Download the new version here!
Changes and New Features for BSP .95e
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.
|The correct axis... - 10/14/2006|
| For those who use WQBSP165 to build their Quake 1 maps, you must specify the |
command line option. Without it, textures in your compiled level may not appear correctly, especially on
brush faces angled at 45 degrees.
i.e., WQBSP165's default behavior is to compensate for a bug in WC.
Supports "-alternateaxis" which allows you to choose between
which axis to use in natural texture mapping. Default will look
as it does in Worldcraft.
|BSP .95c Released! - 10/7/2006|
|This release fixes a lot of bugs and adds some new features, especially
shading and translucency to GL, models rendered in GL, and configurable
keyboard layout. Some important bug fixes include the handling
of surface flags in the surface window and clipper drawing in XY views.
And finally, included is a new (and unfinished) help file in .chm format.
Download the new version here!
Changes and New Features for BSP .95c
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.
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.
|Extrude face command - 8/21/2006|
Use "extrude face" to quickly create complex architecture
|New features - 8/8/2006|
If you are a BSP user, you should stop by #level_design on irc.enterthegame.com. Myself and other mappers hang
out there, so you can get questions answered or just talk to other BSP users. I will also give out
top-secret latest builds to those who want it...
Here are some screenshots showing off recently added features.
Drag multiple brush edges at once
Brush edges can be drawn with group color
|OpenGL Transparency - 7/20/2006|
|Live from QExpo - 7/19/2006|
| Check out my BSP Quake Editor booth
at QExpo. See the small bit of new content there... :)
|In the works - 7/13/2006|
| Here is an update on some features I have been working on that you can expect to see in a near-future release. Notable items include
a dialog to configure BSP's keyboard and enhancements to the OpenGL renderer. In the renderer, I have
added shading and fog, and have optimized a lot of the rendering routines. Here are some screenshots.|
|BSP .94b Released! - 7/2/2006|
BSP lives again! It has been 8 years since a release and at last a new version is finally here.
Thanks Yahn for all of your hard work up to .93b, and also for passing along the source code.
Get the new version from the downloads page.
What's new? The code base has been ported from Borland's Win3.1/Win95 OWL framework to pure Win32 API. The source
now builds on a modern compiler with new optimizations that give a noticeable increase in performance.
I have fixed numerous bugs, memory leaks, and buffer overflows. I've added many
features that I've always wanted in BSP, such as cleaner 3D rendering, mouselook, handling
of the mousewheel and drag-navigation in 2D windows. Remaining work includes multi-level undo,
fixing texture manipulation, OpenGL enhancements, UI makeover, configurable keyboard layout, and lots more.
I hope you enjoy it!
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 to 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 software rendering in GL 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 or 3D window title bars to set.
Allow entity values up to 1024 chars.
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.