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!

Update: 2.1 here:
https://github.com/kduske/TrenchBroom/releases/tag/v2.1.0-RC1
Features "cool shit".
First | Previous | Next | Last
Ijed 
makes the devil's maps - what else is new? 
It Works ... Sort Of! 
Thank you for your help, SleepwalkR. I seem to have a working (or at least semi-working) TB2 installation now.

It looks very snazzy, but map entities oddly appear as solid coloured blocks, the measurements of my brushes are not shown (an issue I had with TB1 as well) and I had the same issue Spirit mentioned above (Ctrl+I is assigned to both Controls>Edit>Select Inside and Isolate Objects ... Not sure how many of these are issues I should report on your github issue tracker thingie and how many are just due to my doing something wrong.

TB2 also did not recognise that an old .map file I had previously worked on with TB1 is a Quake map, and under Quake it says "Game not found". Do I need to point it to where my id1 folder is, or does it want an fgd file or something? 
Blocks For Ents 
usually means you need to locate your quake folder to see them. Probably will make your old maps work too 
FifthElephant 
Thanks for the explanation. In the mean time, though, I pointed TB2 towards TrenchBroom/build/Resources/games/Quake/ and now it does not allow me to change it again (e.g. to my id1 folder); the path now seems set in stone, even when I close and re-open TB. My entities are still blocks.

Oddly, the Ctrl+I key conflict keeps coming back, even though I keep fixing it (as TB2 keeps ordering me to do). 
 
hmmm...

view - preferences - choose game? 
Total_newbie 
I have changed the default key binding for Select Inside so the conflict should be gone now. You can update your sources like so:

git pull

Then rebuild, just like before

cmake --build .

As for the missing models, you have to point TB2 to the directory where you have installed Quake, not to it's own Resource folder.

But it seems that there's trouble with overwriting the preference settings on your machine. It works on my Ubuntu VM, but I'll check with my Linux Mint VM when I get the chance. 
Thanks So Much, SleepwalkR & Fifth 
Rebuilding TB2 now. Do you want me to report these things on the issue tracker, SleepwalkR? Or should I post here first?

Since I know so little, I am not always sure how to distinguish between real issues and my own lack of knowledge and experience. 
Maybe Here Is Better For Now 
 
Ok, Will Post Here For Now 
So far, I am having some problems with the clip and vertex manipulation tools -- they both tend to crash the programme (the latter is an ongoing problem for me in TB1 as well). Steps to reproduce: select a brush/brushes --> try to clip or drag vertices around --> TB quits suddenly and without warning.

Then, don't know if I'm missing something, but as noted above, I don't see the measurements of my brushes (which is a problem for me in TB1 as well). In TB1, the measurements would still display in a brand-new map, but upon closing and re-opening a saved .map, I would see no measurements (or entity labels). In TB2, I do see entity labels, but do not
see measurements (even in a brand-new .map file).

The key conflict is of course now resolved, but I still cannot change the path to Quake I had previously erroneously specified (I know you're aware of this; just putting it here for completeness's sake).

Just some comments and a possible suggestion:

The new system for creating brushes had me stumped for a while, but now that I see how it works it seems really nice. Need to play around with it a bit more to get the hang of it and unlearn my TB1 habits, but I do think this is a great development. I have so often accidentally created brushes in TB1; this will give the mapper a lot more control, I think.

Is the new 2d pane (which is something I had been waiting for) fully functional yet? Maybe this is obvious to people with prior experience in 2d-view editors, but I can't seem to figure out how to move and flip things around in 2d, e.g. to switch from top-down to side view.

What I can do is move the top-down view in the 2d pane up, down and side-to-side using the right mouse button -- which is what the centre button/mouse wheel does in the 3d pane. Intuitively, I would expect the same to be the case in the 2d pane. Would it not make sense to have similar behaviour in both panes? (This is currently the case with mouse-wheel zooming -- it works the same in 3d and 2d.) Perhaps there is a very good reason it works the way it does; my apologies if this is a useless suggestion. 
Thanks 
for the bug reports. I have created two issues on the issue tracker:

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

If you have a github account (they're free), you can subscribe to these issues and be notified when they are resolved.

As for your other suggestions:

To cycle the different 2D views, you can hit the Tab key. Furthermore, you can go to the View preferences and choose a different layout.

I have opted to use the right mouse button for panning the 2D views because the third button is often the mouse wheel, which is a lot more difficult to press and hold. 
Btw 
Which version of Linux Mint are you using? 
 
17.1 'Rebecca' 32 bit Xfce is what I am currently using.

Thanks very much for your response, including your explanation of how the 2d pane works. I'm guessing there is no documentation for TB2 yet, right? Just in case I am asking about things on which I should be reading up elsewhere...

As for the brush measurements (i.e. the length in units of side), am I missing something? I know that in TB1 the fact that these measurements disappear upon reloading a saved .map file is a bug, but is it supposed to be like that in TB2? Is there something I should enable or a key I should press? Or is it something that just has not been implemented yet in any version of TB2?

(The absence of visible measurements in TB1 on Linux is one of the reasons I find it very frustrating to use at times. I have to physically count grid squares all the time. Probably good practice for basic addition and multiplication, but makes for slow mapping, particularly when e.g. setting up a lift or moving platform and trying to calculate where it should be placed and how far it should move.)

Thank you again for your patience in explaining things to a complete layperson. 
Ooops 
Forgot to mention the brush measurements: This is currently missing and will be implemented soon. Probably even tonight.

The fact that the measurements disappear in TB1 is in fact a bug, but then TB1 never worked well under Linux anyway. 
 
Probably even tonight

Yay, thank you! Am looking forward to it. Not sure how far I'll get for the time being without being able to clip, but I can't wait to start using TB2 more and more and being able to move on from TB1 altogether (which, as you said, doesn't really work as it should on Linux).

And thanks for devoting your time to the Linux version of TB2; it is much appreciated. 
More Weirdness 
Two more issues:

1) Ok, opened a brand new map (or "document", as per TB2's terminology) with both a 3d and 2 pane. For some reason I could only draw a brush in the 2d pane, and not in the 3d pane (the programme would not let me). (By the way, is TB2 supposed to start with no brushes, unlike TB1, which starts up with a basic block already drawn?)

2) Then I wondered why no grid was visible, except on the brush itself in the 3d pane. So I went to View > Grid > Show Grid, and saw that it was already checked. When I unchecked it, I got this psychedelic effect. Note that the TV-type noise in the 2d pane moves and changes when you move the cursor about. It even changed colour when I took another screenshot.

Errr... 
Brush Drawing In 3D 
Only works on other brushes. You have to create some initial brushes as references. And yes, TB2 will come with a simple room map by default, but that's still to be done.

The grid issue is probably a shader bug. I'll create a new issue for it. 
Thanks For Responding So Quickly 
 
Just Did Git Pull And Cmake -- Build . Again 
to see if the measurements have been implemented. Don't know if this was the wrong time to do so, but I got this error message right at the end:

[ 16%] Building CXX object CMakeFiles/TrenchBroom.dir/common/src/Assets/EntityModelManager.cpp.o
Linking CXX executable TrenchBroom
CMakeFiles/TrenchBroom.dir/common/src/View/MapView3D.cpp.o: In function `TrenchBroom::View::MapView3D::doRenderMap(TrenchBroom::Renderer::MapRenderer&, TrenchBroom::Renderer::RenderContext&, TrenchBroom::Renderer::RenderBatch&)':
MapView3D.cpp:(.text+0xf01): undefined reference to `TrenchBroom::Renderer::SelectionBoundsRenderer::SelectionBoundsRenderer(BBox<double, 3u> const&)'
MapView3D.cpp:(.text+0xf0e): undefined reference to `TrenchBroom::Renderer::SelectionBoundsRenderer::render(TrenchBroom::Renderer::RenderContext&, TrenchBroom::Renderer::RenderBatch&)'
CMakeFiles/TrenchBroom.dir/common/src/View/MapView2D.cpp.o: In function `TrenchBroom::View::MapView2D::doRenderMap(TrenchBroom::Renderer::MapRenderer&, TrenchBroom::Renderer::RenderContext&, TrenchBroom::Renderer::RenderBatch&)':
MapView2D.cpp:(.text+0x78b): undefined reference to `TrenchBroom::Renderer::SelectionBoundsRenderer::SelectionBoundsRenderer(BBox<double, 3u> const&)'
MapView2D.cpp:(.text+0x798): undefined reference to `TrenchBroom::Renderer::SelectionBoundsRenderer::render(TrenchBroom::Renderer::RenderContext&, TrenchBroom::Renderer::RenderBatch&)'
collect2: error: ld returned 1 exit status
make[2]: *** [TrenchBroom] Error 1
make[1]: *** [CMakeFiles/TrenchBroom.dir/all] Error 2
make: *** [all] Error 2
 
Probably A Missing File. 
I'll check it out tonight. 
Nope. 
You have to refresh your build files. Before you do build, issue this command when inside your build directory:

cmake ..

You should always do this when you update your sources. 
Thank You 
I did not know that. So I always have to do
git pull
then
cmake ..
and then
cmake --build .?

Anyway, that is what I did now, and it worked.

I have another question/sort of bug report:

I was working on a map (which I had started a long time ago) in TB1 earlier today, and actually making some progress, but then when I closed the programme and tried to save my map, something went wrong. I got some sort of error message, which sadly I cannot remember, and I did not think to take a screenshot of it. Anyway, when I now try to open the saved map file with TB1, it opens, but I just get a blank screen, as if it were an empty map with no brushes or anything. When I try to open it with TB2, I get this error message:

Line 14013, column 3 - Expected integer or decimal, but got string

As an aside, weird things were happening in TB1 earlier too. There's this arch I had built (similar to the arches in Honey or in the Honey Map Jam) made up of 5 brushes and which I am using a few times in the map -- yet today when I copied and pasted it in place to drag elsewhere (Ctrl+C; Ctrl+Shift+V), the brushes in the copy of the arch were all slightly (like ~ one grid unit) bigger than the original. It was a very subtle change that I did not notice at first; I only noticed it when I could not line the arch up correctly once I had dragged it somewhere else in the map.

It was after fiddling with the arches to get them back to their original shape that TB1 refused to save my map correctly, after which neither TB1 nor TB2 seem able to open it.

I know you're no longer working on TB1 for Linux, but I thought this information might be relevant.

(By the way: as far as I can tell, all my brushes were on grid, but TB1 seemed to shift things off grid when I copied and pasted. I could be wrong, but that's they way things looked to me.) 
...continued: 
Just tried to copy and paste the same arch (from an earlier save of the map) in TB2, and even weirder things happened: although I had selected all 5 brushes, only 3 were copied and the programme warped all of the brushes in bizarre ways -- some were slightly shorter and some slightly longer, including the ones that were not copied (as in, the originals are now different). 
Total_newbie 
It sounds like line 14013 of your map got corrupted somehow. Try going to that line in a text editor. With any luck, you can just delete that one corrupted brush - the brush is the sequence of lines surrounded in curly braces: { } - and it will fix the problem. It would be interesting to see what was on line 14013 that was causing the problem.

TB 1.1.4 released this January fixed a bunch of "vertex drift" bugs, including one affecting copy/paste. Since you'll be building from source, these fixes are in the "master" branch. I'd suggest the least error-prone thing to do is just make another git checkout for TB1.x, e.g. to checkout into a directory called tb1, do:
git clone https://github.com/kduske/TrenchBroom.git tb1 
Thanks For The Response, Ericw! 
Do you mean that I should open a terminal in the directory where I have TB1 installed and type git clone https://github.com/kduske/TrenchBroom.git tb1?

This was on line 14013:

( 16,46453094482421875 -71,0805511474609375 -7,2267894744873046875 ) ( 16,46453094482421875 -94,0805511474609375 203,7732086181640625 ) ( 657,46453857421875 106,9194488525390625 -327,226776123046875 ) city2_6 21 -17 150 1 -1

I deleted the brush in a text editor as you advised, but still have the exact same problem -- I get the exact same error message in TB2... 
I Don't Know Anything, But 
I am guessing those long decimals are not healthy. Just looked in a text editor at a saved map file from before I played around with TB today, and none of my brushes ever looked like that... 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.