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
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... 
FWIW 
I went back to the presumably corrupted file and there were several similar brushes with long decimals. I am guessing this means brushes that are off grid? That is bizarre, because I never drew my brushes off grid, and my old saved .map files only contain integers.

Anyway, I tried finding all the wonky brushes in the text editor and deleting them, but still no luck... 
Ah 
regarding tb1, I meant to run that command in your home directory, or wherever you prefer to keep source code, to get a fresh copy of the latest TB1 source. Then you can follow the instructions in Linux/Build.txt to build it.

line 14013: ah, that looks like a classic bug. Was that file last saved with TB1? I guess your OS is set to a locale that uses comma as the decimal separator, and TB1 was incorrectly using that in its .map output. All of those commas should be periods. It should be safe to just find and replace all commas with periods using the text editor. 
Btw 
For TB1, the long decimal coordinates are normal if "Force integer plane points" is unchecked in map properties. 
Thanks For The Follow-up, Ericw 
Yes, it was saved in TB1. Thanks, I'll do a find&replace of the commas and then proceed with "Force integer plane points" checked from here onwards.

I still find it weird that TB (both TB1 and TB2) would just randomly shift my brushes around and reshape them. Surely that is a bug, right?

Anyway, thanks again for your help. I'll report back, but need to sleep in the mean time... :) 
C&p Comment From My Tb Video On Yt 
1. Try to place entity; clicks it, Unhandled Exception. (Also another unhandled exception when trying to scroll menu)
2. On trying to use Vertex Tool, another group of 15+ Unhandled Exception errors
4. Upon trying to add texture wad, freezes and doesn't respond at all, forcing me to Task Manager and End Process


Removed stupid insults and general idiotness from the quote :P

This is TB 1 ofc but I've never had any of these unhandled exception errors. 
Thanks 
 
Re: Ericw, Building TB 1.1.4 
Sorry, I'm a little confused...

So there are these presumably outdated instructions on building TB1 http://andyp123.blogspot.de/2013/03/running-trenchbroom-quake-editor-on.html. I've followed them before, and that leaves me with TB1.2.0, build 460.

Then there are the instructions SleepwalkR posted above for installing TB2, which worked (after I stopped being an idiot and followed the instructions more closely), but they're completely different from the instructions for TB1.2.0 on Andy's Blog.

Now in the build.txt for TB1.1.4, it seems there is a different process again, and I'm not sure I understand exactly... The instructions in this build.txt end with

3. Code::Blocks
- Get the latest version of the Code::Blocks IDE using the package manager.
- Create a global variable named "WXWIN" in Code::Blocks.
- Click Menu > Settings > Global Variables...
- Click on the second "New" button (in the "Current Variable" row).
- Enter "WXWIN" (without quotes) as the name for the new variable.
- In the "Builtin fields" column, click the ".." button next to the first text field (labeled "base").
- In the Open file dialog, select the directory where you extracted the wxWidgets sources.
- Optional: Go to Settings -> Compiler and Debugger... search for the Other settings tab: Set the number of processes for parallel builds to the number you'd like to use.


Is that it? Isn't there something else I need to do? Do I switch to the guide on Andy's Blog at this stage? Or will that give me TB1.2.0 again, or break something?

Sorry if these are stupid questions. 
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.