News | Forum | People | FAQ | Links | Search | Register | Log in
The TrenchBroom Level Editor
Today I am releasing TrenchBroom 1.0 for Windows and Mac OS X. TrenchBroom is a modern cross-platform level editor for Quake.

Features
- True 3D editing, no 2D views required
- High performance renderer with support for huge maps
- Vertex editing with edge and face splitting
- Manipulation of multiple vertices at once (great for trisoup editing)
- Smart clip tool
- Move, rotate and flip brushes and entities
- Precise texture lock for all operations
- Smart entity property editors
- Graphical entity browser with drag and drop support
- Comprehensive texture application and manipulation tools
- Search and filter functions
- Unlimited undo and redo
- Point file support
- Automatic backup
- Support for .def and .fdg files, mods and multiple wad files
- Free (as in beer) and open source (GPLv3)
- Cross platform (Windows, Mac OS X and Linux supported)

Check out a video of TrenchBroom in action here.

You can download the editor here.

If you would like to give feedback, please do that in this thread. If you find a bug or have a feature suggestion, please submit them at the issue tracker.

If you are wondering where the Linux binaries are then sorry, but currently there are none. The Linux version has a few problems which I could not fix before this release. I will get working on those right away so that the Linux version should be available in a couple of weeks, too.

Finally, I would like to thank necros for all his work over the past year. Without his tireless efforts, TrenchBroom would simply not exist. Or it would suck.

Alright, enough of this. Have fun with the editor!
First | Previous | Next | Last
@SleepwalkR 
I tried RC5 on another machine with Ubuntu 17.10. There the problem is gone.

So perhaps my Ubuntu 16.04 machine is special. 
Strange 
 
Trenchbroom 
Hey all. Love trench broom. I was wondering if there was an easy way to mass select a large portion of the map much like gtkradiants ctrl+click+drag on the top/dn view?

Thx in advance. :) 
 
TB uses brushes as a selection tool.

Make a brush that covers that things you wish to select then press Ctrl+T. Theres more Selection methods in the "Edit" menu up top. 
Ty Sir. 
 
RC6 Is Out 
I decided to a last release to get all the latest fixes tested. Get it here as usual: https://github.com/kduske/TrenchBroom/releases/tag/v2.0.0-RC6 
Water 
How do you make water in trenchbroom, I have looked in create brush entity, on youtube, searched on google, looked at tutorials, and I don't know what to do 
@superquake 
Just create a brush and apply one of the water textures. They start with an * 
Sweet 
that was simpler than i thought it would be 
Teleporter 
how to make a teleporter? I have a block with the *teleport and its classname is trigger_teleport, but I don't know how to make It link up with a teleport destination? 
2727 
Make an info_teleport_destination point entity, then set the destination's targetname field to match the teleporter's target. Unless the teleporter is going to be delayed-use (only activates at a certain point), don't give the teleporter itself a targetname; that tells the game that it shouldn't teleport anything until it's activated by another entity and that's a common mistake people can make when getting into mapping, due to the habit of naming everything so you remember what's what and how unlike teleporters, buttons will still function properly with an unused targetname key. 
Thanks 
thanks 
 
seriously, this work over the last few months. Valve220 mode has been quite fun to play with! 
 
i have no clue what happened there:

"seriously, cheers to sleep and eric for all this hard work over the last few months. Valve220 mode has been quite fun to play with! " 
Changelevel 
there's a brush entity called trigger_changelevel and i'm guessing it's how you make the level change,if it is how you make it change, I want to know how to set it up to change to a different level 
Changelevel 
and also how to make it so when the level ends and its doing intermission it has the camera type thing, where it shows off part of the level 
Superquake 
Correct, trigger_changelevel is basically your map's exit.

Create a brush, right-click --> Create Brush Entity --> Trigger --> changelevel. Then go to the "Entity" tab on the right, and give the key "map" a value which is the name of the map you want to load when the player exist your level. E.g. if you want the player to go to the start map, you'd give "map" the value "start". Note that the trigger_changelevel entity will be invisible in your map. So if you want the player to exit through e.g. a teleporter, you'd need to create a separate world brush textured with the teleport texture.

and also how to make it so when the level ends and its doing intermission it has the camera type thing, where it shows off part of the level

What you're looking for is info_intermission. Right-click where you want to add it --> Create Point Entity --> Info --> intermission. This is basically the camera that you point at whatever you want to show when the player finishes the level. See here for more info on how to configure it further.

Note that you don't have to have an info_intermission in your map; Quake will automatically show some part of your map at the intermission screen (I think it defaults to the position of info_player_start). But with info_intermission you can specify what it shows. 
Thanks 
thanks 
@superquake 
One of the best things you can do as a new mapper is to download the .map files of the original Quake. You can find them below. It's easy to see how "id did it."

https://www.quaddicted.com/files/tools/quake_map_source.zip 
TrenchBroom 2.0.0 RC 7 
https://github.com/kduske/TrenchBroom/releases/tag/v2.0.0-RC7

Just goes to show you should never call something "almost done" or "final". Have at it! 
TrenchBroom 2 Final 
I've Got Words 
TrenchBroom 2 has been in the making for more than four years. I have dug out the first message here on func where I talked about it: http://celephais.net/board/view_thread.php?id=60908&start=1054

Back then, I did not expect it to take this long. The main reasons for the delays were the fact that I thought it would be a good idea to do a rewrite (not the best of ideas), that I let too many features creep into the release, and that I got very busy with real life issues. But with the help of many contributors, we managed to get over this hump, finally!

So I'd like to take the time to thank a few people in particular.

The initial versions of TrenchBroom were shaped by feedback and input by necros, so I'd like to thank him for helping me make TB's UI what it is today.

ericwa helped out with invaluable contributions, bug fixes, and code reviews. Without his efforts, TB would be nowhere near as stable as it is now!

dumptruck_ds has just started a video tutorial series for TrenchBroom, available here: https://www.youtube.com/watch?v=gONePWocbqA and I expect these videos to help drive more people to TrenchBroom and Quake mapping in general.

Then there were a couple of other contributors who submitted patches and bug fixes.

Furthermore, I'd like to thank the numerous users who supported TrenchBroom by filing issues on github, by tweeting about it, and thereby creating a community around TrenchBroom.

And finally, I'm sure there are people who I should also thank, but whom I have forgotten to name since it's late and I'm tired ;-). I hope you guys don't begrudge my forgetfulness.

With all that said, I'd also like to talk a bit about the future of TrenchBroom. Now that this release is out, it will be time to groom the backlog to clean up and select those issues which should be included in the next releases.

After some deliberation, I have decided to focus on expanding TB's user base in the immediate future. This means that I will not be working on new features right away, but rather I will add support for more games with Quake 3 being the first game to be added.

I believe that adding more users to TrenchBroom is essential to the future of the editor, as this will likely bring more contributors as well. TrenchBroom has become a large and complex project, and I'll need all the help I can get in the future.

Besides the addition of more games, I would also like to focus on one particular issue, which is the performance of selection. Selection is an operation that depends on the size of the map, so it becomes slower the bigger the map becomes, and that is of course not acceptable in the long run. Both ericwa and I have some ideas on how to tackle this, and we have already written some code to fix it. So I expect this to be part of one of the next point releases as well.

I will create new milestones for the next three point releases in the coming days, and then I will start adding issues to these milestones. I plan on adding only a few issues to each milestones in order to have frequent releases in the future. Hopefully, we won't have to wait years for the next release this time ;-).

That's it for now. Thanks again to everyone who got involved in this project over the years. It has been a lot of fun, and a very satisfying hobby for me. The greatest thing for me has been to see how many releases have been made with TrenchBroom, and how many new mappers have joined this community because of it. Let's hope that TB will keep driving people to pick up Quake mapping in the future! 
SKEW!!! 
 
 
Thanks a lot, Kristian. It's hard to know exactly how many maps your hard work has helped to create, but you can at least count mine among them - I doubt I ever would have started mapping for Quake if TB hadn't come along and made what was once a daunting, hostile task into one that I found approachable and enjoyable!

I hope you have a chance to relax and take a well-deserved break for a while, you've earned it! 
Whoops... That Was Me! 
 
Hail To Daz! 
https://youtu.be/Wr9FR1W1JFE

And dumptrucks video series is awesome news! 
 
Congrats on the release Kristian. Thank you for all of the time you've put into this excellent project. I've spend thousands of hours in this editor since it's first incarnation.

My biggest suggestion is to try to make compiling it less of a pain (but at least GNU/Linux packages exist now.) 
Thanks! 
 
Trenchbroom For Slackware Linux 
Excuse me Mr. Duske, but I have seen that you have taken interest in packaging Trenchbroom for other GNU/Linux distributions once the final build of 2.0 came out. I have created a package for Slackware Linux, and I would like to submit it to you if you would be interested in it. I'm not very well versed with the whole GitHub thing, but if you're willing to grab it, please let me know what I should do. Thanks. 
@ebisu 
Here's a link to the TrenchBroom Discord.

There are a few people who can probably assist you with GitHub. 
 
Any support for star trek: elite force? 
Slackware Build 
I assisted with the linux packaging and while I can't speak for Sleep I think there are two thing to consider.

One, in order to distribute a package he will have to build it himself and cannot take a pre-built package from "somebody on the internet". No offense though.

The other thing is that there are already 5 distribution packages to manage for every release. Before adding another one it might be wise to look at a cross distribution build and repository service like the one from opensuse. (https://build.opensuse.org/) 
Fug 
Request it on github 
New Controls - TB V2.0.0 Final? 
So after downloading the newest version, I've noticed the control scheme for extruding a face, ie. adding a vertex to the center of a face seem to be different.

I can't seem to add a new vertex to a face anymore, I have to hold shift, click on the edge of a brush, then extrude the new vertex up or down with alt, then drag it over to the center of the face. I used to be able to just click anywhere on the face and add a vertex, but this doesn't work anymore... 
Yes 
The control scheme has changed. You should be able to pull verts from faces at grid points, but there‘s a bug that makes this unreliable. Will be fixed soon. 
Can't Start App, Crash On Mac Os X 10.6.8 
works on 10.9.5 though 
10.6 Is No Longer Supported 
 
10.6 Is No Longer Supported 
I wanna cry :( description in website still states 10.6? I guess that's for Trenchbroom 1 
Missing A Couple Of Hundreds .dll Files.. 
How many .dll files do I need to download to get it to work on Windows 8 (64 bit)?
Downloaded the redistributable, but it didn't help.. 
Without Proper Details, No One Can Help You 
It should run out of the box with the (correct) redistributive installed. 
Files *Required* For TrenchBroom 
The editor and compiling tools depend on some additional files from Microsoft: Visual C++ Redistributable for Visual Studio

Both the 2013 and 2015 versions.

For TrenchBroom:

https://www.microsoft.com/en-us/download/details.aspx?id=48145

For ericw-tools:

https://www.microsoft.com/en-ca/download/details.aspx?id=40784

Install both of these - even though they are quite similar - you'll need both. After that you should be good to go. 
Moddb 
@sleepwalker 
Very cool coverage and insights. I had no idea it dated back to 2010. Wow. 
 
GoldSrc support please. 
Anon Demands Features! 
 
Compiling Tools For Mac OS X? 
Any idea where to download map compiling tools for mac? I can only find tools for Quake 1 but not for 2 :/ 
 
https://github.com/ericwa/ericw-tools/releases/

You want the "Darwin" download I think. 
 
Oh sorry that's for Quake 1, I misread your question. 
Open Multiple Maps? 
I'm one of those mappers who likes flipping back and forth between a map I'm working on and maps I'm referencing. Is this possible or can I only open one map at a time? 
Depends On The Platform 
On Mac and Linux, this is not a problem. On Windows, TB is a single document interface app, meaning you can only open one map at a time. But to offset this, you can open multiple instances of TB for different maps on Windows. 
That'll Work 
Thanks. 
Yeah 
I usually have 2 TBs open, you can copy-paste from one to the other, so it's basically the same as having two maps open. 
Thanks Sleepwalkr 
I got a notification that my feature request (targetname autocomplete) was closed on the issue tracker. I assumed it was being put on the backburner for the drive to expand the range of supported games. So you can imagine my surprise and delight to upgrade to the release version and find it present! It's already proved valuable in creating one short map hack, so thank you for this and all the rest of the work on the editor. 
Please Thank Ericw 
He implemented it, I only reviewed it. 
TrenchBroom 2.0.1 
With bugfixes and minor improvements: https://github.com/kduske/TrenchBroom/releases/tag/v2.0.1 
Not Sure If This Is Something I Caused Somehow 
But the info_teleport_destination model is displayed about 32 units underneath the the entity's bounding box. 
@sevin 
No that's normal. Set in the FBD that way I believe. Not sure why. Don't go by the model. Go by the Bbox and you're good. 
Thanks Ericw 
n/t 
Info_teleport_destination 
One thing the QuakeC does is moves every info_teleport_destination 32 units upwards from its starting point. I guess that the bounding box is accounting for this but the model isn't/can't? 
Hmm 
Is there no hack to bring the model in line with the bbox? Kind of annoying to look at. 
Desperate Hack 
There might be a sensible way, if it bugs you enough to accept a local fix you could: create a copy of the player model that's raised by 32 units, then reference that copy of the model in the FGD definition of info_teleport_destination. 
Sounds Reasonable 
I’ll probably try that. Thanks Preach. 
May I Suggest A Quality Of Life Improvement Here 
or would you prefer I rather make a post in the issue tracker?

It's not too important, just a separate memory if you will for "open wad" vs "save map"

I find that I reflexively save a map only to find it in my wad folder from when I opened the wad for it.

Still loving TB2. Thank you! 
Yeah It's Annoying 
Create an issue for it. 
TrenchBroom 2.0.2 
brings a couple of mostly minor bug fixes: https://github.com/kduske/TrenchBroom/releases/tag/v2.0.2 
Rotating Door 
Is the func_door_rotating in Hexen 2 supposed to be set differently as they are in other map editors? I cannot seem to figure it out using the origin brush. 
Rotating Door 
Ok, I figured it out. One must use different qbsp to make rotating door to work. 
Selecting Only DM Or Non DM Specific Entities 
I think I've seen some screenshots of editors that enable you to toggle entity visibility based on their difficulty level/dm spawnflags. I'm trying to finish up my map by making it work in dm too, and I'd like to select all the triggers that don't have the "not in deathmatch" spawnflag set to them, so I could assess whether there are still some triggers that need to be disabled for dm.

In fact, it would be nice to generalize the whole idea: Whenever I select a huge amount of entities (typically with Ctrl+A) and have the entity tab open with all those "multi" value fields and spawnflag checkboxes with squares instead of checkmarks, it would be nice to filter my selection by let's say right clicking the "multi" value field next to the "target" key for example, and then a checkbox dropdown menu would appear at the pointer, where I could select all the values the entities of which I want to manipulate. The same principle would apply for the spawnflag section and maybe even the color section.

So I have two suggestions:

1) Add four more checkboxes in the View "pop-up" menu:
"Show easy skill entities"
"Show normal skill entities"
"Show hard skill entities"
"Show deathmatch entities"
or something along those lines.
2) Implement the above-mentioned idea of filtering a selection

Ok, I lied: a third bonus suggestion:

3) Add one more checkbox in the View "pop-up" menu:

"Show group entities"/"Show groups"/"Show group entity bounds"
or something along those lines. :)

Pretty please! ;; It's always such a hassle to manually hide my groups when everything else can easily be hidden with the click of a button. 
 
1) Cannot be done since spawnflags are not general, but game specific. But filtering by spawnflags may be done in general, yes:

https://github.com/kduske/TrenchBroom/issues/452

2) Filtering will be done using queries written in a simple query language, see

https://github.com/kduske/TrenchBroom/issues/2044
https://github.com/kduske/TrenchBroom/issues/1247

3) Cannot be done specifically for group entities, but for brush entities in general:

https://github.com/kduske/TrenchBroom/issues/1803

So all of your suggestions are already in our todo list. Thanks! 
Renaming Layers 
I've finally started experimenting with layers. Is it possible to rename them? o: With a quick glance I couldn't find anything in the UI or the manual. 
Layer Names 
Not that I am aware of. Workaround is to move selection to a new layer and remove the old one. 
It‘s An Oversight On My Part 
There is already an issue for it I think. 
Rotfish/ Fish Monter Issue 
Having a weird thing in TrenchBroom 2.02... When I put the monster fish in the level, it messes up the monster/kill count in-game. It seems to be counting one fish as two, as I put 7 in the level, but my kill count goes up by 14, and after clearing the map of all enemies it still says I have 7 left in the kill count.

Haven't found reference to this elsewhere unless I missed it. 
Spankmaster 
That's a bug with Quake, not Trenchbroom. This bug is also in the original game.

If you don't want to use a mod, Preach has a fix for it here: https://tomeofpreach.wordpress.com/2017/02/07/fish-fix/ 
 
Ah, Thanks Kinn! 
No Worries 
By the way, because this is such a well-known err "feature" of the original game, no-one minds if it's not fixed if you're doing an id1 release. 
But It Is Nice To List Fish Count In The Readme 
 
Feature To Save Camera Views? 
Has anyone suggested the possibilty of saving different camera views behind hotkeys? That way I could easily fast travel between different places I'm working on the map.

While editing a map, I often go fetch something from another room, and sometimes, when the room is pretty much on the complete opposite end of the map, getting there can be painfully slow, especially using the WASD fly method.

I've sped up the travel process by drill selecting myself through all the clutter obstructing my view close to the entity I need to go fetch and then centering my view to the entity. That way I can travel to the room faster.

Another trick I've used, depending on the situation, is hiding all the entity types that I don't need, which makes the entity I need visible, and I can select it all the way from my location.

The above mentioned tricks do make things faster, but I wouldn't mind the possibility of making things even faster and more effortless, y'know. ;) 
@Esrael 
That's on their to-do list. I am looking forward to it! Here's a tip: use info_intermission entities and jot down the origin. Then to navigate to them go to

View>Camera>Move Camera to...

enter the origin of the info_null

Warning the map will leak if you put the entity in the void. You could just jot down the origin and delete it. 
Typo Above 
Meant info_null both time. It can be any point entity really. 
Typo Above 
Meant info_null both time. It can be any point entity really. 
Groups, Adding Vertices And Vertex Brush Creation In 2D View. 
Will this ever be implemented? Hexmaker had a really useful feature that let you do this in any 2D view, while setting the initial brush height/length/width with a ruler beside the grid. It was really useful in letting you quickly block out a rough shape for a complex arrangement of blocks in one view, saving a lot of time. It's a lot harder to do this fast and accurately in the 3D view.

Somewhat related, is there a way to add both the front and back vertices to a brush in the 2D views? As it is now I can only add it for one side, then have to go into 3D view for the other.

Lastly, is it possible to group brushes together then make them into a brush entity? It's so useful for complex brush entities and much easier to select them all at once. 
#2799 
Not sure about the vertex functionality in 2d modes.

Take a search through the Git page here: https://github.com/kduske/TrenchBroom/issues

As far as grouping brushes together and making them entities:

Select the brushes you want and press Ctrl + G to make them a group. Now double click the group and you will see all brushes except for your group highlight blue. Now you can select the grouped brushes and make them a brush entity. It's sort of a hidden feature. In this mode you can then double click the brush entity to select the entire thing.

I don't use this often but give it a test drive. 
Resizing Non-orthogonal Brush Faces By Distance 
I have a room with non-orthogonal walls, and I'd like to make 16 map unit wide trims (see screenshot).

I'd like to duplicate-resize the highlighted wall section and drag it precisely by a length of 16 units. Would it be possible to have a distance indicator appear at the pointer when I start dragging the face?

According to the TB manual it should be possible for me to drag the face precisely by 16 units:

The distance is snapped to the current grid size, i.e., if you drag a face by 17.5 units along its normal, it will be moved by 16.0 units if the current grid size is 16. This is useful if you are resizing brushes which are part of a curve because their faces will line up after the drag.

In practice, however, I was unable to resize the face in the screenshot by 16 units, no matter how carefully I tried to drag. (I had made a reference by duplicating the nearby trim and rotating it and was never able to align the wall with it when resizing.) TB seemed to always prefer the other snapping method over the distance method. :'( Did I misinterpret the above quote from the manual or something? 
Copying Coordinates 
When I use the vertex tool and hover the pointer over a vertex, its coordinates are displayed. Could you make it possible to easily copy the coordinates (without having to resort to typing the coordinates manually to Notepad)?

Could you also have the coordinates display and be copiable when using the face and edge tools, too?

Being able to copy and paste coordinates would be useful for inputting the rotation origin in the rotate tool. 
Creating Custom Axes Of Rotation 
Could it be made possible to define your own axes of rotation (see the illustration I sketched with Paint).

In the drop-down menu, where the user can choose the axis (x, y or z) about which to rotate the selected objects, an additional selection of "user defined" etc. could be added.

After having selected "user defined", more options would appear on the rotate tool (see illustration), with which the user can type in the two points that define the rotation axis. Alternatively the user can set the points by clicking on the map. (It would be nice if the center of rotation, too, could be set with the mouse, btw.) :) 
TrenchBroom 2.0.3 
This release contains a few bug fixes. It also fixes a major memory leak and a few crash bugs.

https://github.com/kduske/TrenchBroom/releases/tag/v2.0.3 
De-coupling Wads From Quake Mapping 
Is there any way that we can add mapping for Quake without the need for wad files? Iterating textures while working on a map is a pain by having to use TexMex, there's no need for an outdated and unsupported piece of software to be required in the tool chain.
TB2 supports Q2 mapping and that doesn't use wads, why should Quake in 2018? 
Thanks 
Trenchbroom is one of the nicest pieces of software that I've ever had the pleasure of using. Thanks to SleepwalkR and other contributors for all of their work on it. 
Disabling The Red Hue When Setting Textures 
I'm quite indecisive when it comes to choosing a texture and I like to preview a lot of different alternatives before making up my mind.

To better see what the texture choice looks like in a room, I always have to deselect the faces to get rid of the red hue the selection gives to the textures (and also the red face edges).

Then, when I'm done assessing the the texture choice, I have to press undo a couple of times until the faces are selected again, so I can select another texture. It's kind of a pain.

I would really appreciate making it possible to toggle the red hue and edge lines on/off, so previewing texturing would become a breeze.

Thanks for all the hard work you've put on the editor. I might not be mapping for Quake if it wasn't for your editor. :) 
Esreal 
You should file an issue for this on GitHub. 
Feature Request. 
After you type a value in a key-value pair box and hit Enter, can you please please please make it so hitting enter escapes the mouse / focus from that box??

Every single time I do this, I then hit something on the keyboard to move the camera or whatever, and overtype my light value with S or my mangle with D or whatever. I don't think the mouse focus should automatically go back to the editor view, just out of the damn textbox so when I hit a key, nothing happens rather than b0rking my text entry...

Thanks!! 
No 
The property editor is optimized for quick entry of multiple key values. It is also impossible to separate mouse focus from keyboard focus with wxWidgets. Sorry, but I‘m afraid you‘ll have to get used to clicking the mouse in the 3D viewport. 
That's Okay. 
I'm used to mangle = sd , it will be a staple of any of my future mapping ;) 
TrenchBroom 2.0.4 
Contains plenty of bugfixes. Available on github as usual: https://github.com/kduske/TrenchBroom/releases/tag/v2.0.4 
TrenchBroom 2.0.5 
TrenchBroom 2.0.5 is functionally equivalent to 2.0.4, but was necessary to fix the macOS build scripts: https://github.com/kduske/TrenchBroom/releases/tag/v2.0.5 
1 post not shown on this page because it was spam
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.