What the hell? Simple brush borked in-game ... please help
What the hell? Simple brush borked in-game ... please help
Hi, I'm having trouble with a brush that looks fine in Radiant but is fucked in quake.
First off, i've got a corridor like this:
<img src="http://img222.echo.cx/img222/7290/fucked19kv.jpg" alt="1">
There's a 90 degree elbow in the corridor, which is where my problems are. I've got this simple red trim texture at each side of the flat part of the walkway, and it's not even a shader, just a simple-ass texture:
<img src="http://img222.echo.cx/img222/3897/fucked29ut.jpg" alt="2">
The "west end" (-ve X axis) of this brush is 10 units wide, and the "east end" (+ve X axis) is 8 units wide. This is just so it lines up nicely with other trim brushes. Nothing spectacularly unusual or law-defying.
<img src="http://img222.echo.cx/img222/2549/fucked37cn.jpg" alt="3">
It looks perfectly fine in radiant, and i've run bobtoolz so i know the brushes aren't borked (plus i've tried rebuilding them from scratch a few times), but in-game it looks like this without fail:
<img src="http://img222.echo.cx/img222/9664/fucked42mv.jpg" alt="4">
There is no caulk brush hovering over it, there's nothing above it or within it or anywhere even nearby in radiant with all filters turned off, so it can't be another brush causing this. And it's not the XYZ location that's somehow fucked, because the same thing is happening on three other corners (the inside of the elbow bend, and inside/outside at a second elbow bend in a different hallway):
<img src="http://img222.echo.cx/img222/6375/fucked54bj.jpg" alt="5">
Please give me some advice ... i am at my wit's end, and considering the ridiculous complexity of some of the things i've put together in this map [see screenshots thread, it's geocomp-inspired] i don't understand why such a simple little thing is fucking up.
Thanks.
First off, i've got a corridor like this:
<img src="http://img222.echo.cx/img222/7290/fucked19kv.jpg" alt="1">
There's a 90 degree elbow in the corridor, which is where my problems are. I've got this simple red trim texture at each side of the flat part of the walkway, and it's not even a shader, just a simple-ass texture:
<img src="http://img222.echo.cx/img222/3897/fucked29ut.jpg" alt="2">
The "west end" (-ve X axis) of this brush is 10 units wide, and the "east end" (+ve X axis) is 8 units wide. This is just so it lines up nicely with other trim brushes. Nothing spectacularly unusual or law-defying.
<img src="http://img222.echo.cx/img222/2549/fucked37cn.jpg" alt="3">
It looks perfectly fine in radiant, and i've run bobtoolz so i know the brushes aren't borked (plus i've tried rebuilding them from scratch a few times), but in-game it looks like this without fail:
<img src="http://img222.echo.cx/img222/9664/fucked42mv.jpg" alt="4">
There is no caulk brush hovering over it, there's nothing above it or within it or anywhere even nearby in radiant with all filters turned off, so it can't be another brush causing this. And it's not the XYZ location that's somehow fucked, because the same thing is happening on three other corners (the inside of the elbow bend, and inside/outside at a second elbow bend in a different hallway):
<img src="http://img222.echo.cx/img222/6375/fucked54bj.jpg" alt="5">
Please give me some advice ... i am at my wit's end, and considering the ridiculous complexity of some of the things i've put together in this map [see screenshots thread, it's geocomp-inspired] i don't understand why such a simple little thing is fucking up.
Thanks.
Have you had a look at the map file in a text editor to see whether that might give you any clues about what's happening? In other words, everything is fine in the editor, but the numbers are slightly off (e.g. 16.000002 instead of 16) which is then causing a problem when you compile the map.
I think I can see what's happening, but I can't tell you why (sorry). It does simply look like a manifestation of a bug. Is rebuilding the whole map from scratch an option?
I think I can see what's happening, but I can't tell you why (sorry). It does simply look like a manifestation of a bug. Is rebuilding the whole map from scratch an option?
these are the trouble brushes:
they look okay to me 
and no, rebuilding the whole map is emphatically NOT an option, it's at 4000 brushes and that's not many, but at least 1000 of them required a bunch of edge/vertex manipulation because they're at all sorts of weird angles.
any other ideas?
edit: all points are on the 2-grid [i'm not even down at the 1-size].
Code: Select all
// brush 3029
{
( 1272 1912 48 ) ( 1184 1912 48 ) ( 1184 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1184 1904 64 ) ( 1184 1912 64 ) ( 1272 1912 64 ) heffctf3/e8creteold_red 0 0 0 0.500000 0.500000 134217728 0 0
( 1264 1904 64 ) ( 1264 1904 48 ) ( 1184 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1264 1904 48 ) ( 1264 1904 64 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1272 1912 64 ) ( 1184 1912 64 ) ( 1184 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 1912 64 ) ( 672 1904 64 ) ( 672 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
}
// brush 3030
{
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1496 2056 64 ) ( 1496 2064 64 ) ( 1728 2064 64 ) heffctf3/e8creteold_red 0 0 0 0.500000 0.500000 134217728 0 0
( 1496 2056 64 ) ( 1728 2056 64 ) ( 1728 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1728 2056 64 ) ( 1728 2064 64 ) ( 1728 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1544 2064 64 ) ( 1312 2064 64 ) ( 1312 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 2072 64 ) ( 672 2064 64 ) ( 672 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
}
// brush 3031
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/e8crete01 0 0 0 0.500000 0.500000 134217728 0 0
( 680 1912 64 ) ( 1096 1912 64 ) ( 1096 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1728 1968 64 ) ( 1728 2064 64 ) ( 1728 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1088 2056 64 ) ( 672 2056 64 ) ( 672 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1272 1912 48 ) ( 672 1914 48 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 2054 48 ) ( 1272 2056 48 ) ( 672 2054 64 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
}
// brush 3032
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/nundarkwall 0 0 0 0.500000 0.500000 134217728 0 0
( 1088 2056 64 ) ( 672 2056 64 ) ( 672 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 1272 2056 48 ) ( 672 2054 48 ) ( 672 2054 64 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
}
// brush 3033
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/nundarkwall 0 0 0 0.500000 0.500000 134217728 0 0
( 680 1912 64 ) ( 1096 1912 64 ) ( 1096 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
( 672 1914 48 ) ( 1272 1912 48 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
}
}

and no, rebuilding the whole map is emphatically NOT an option, it's at 4000 brushes and that's not many, but at least 1000 of them required a bunch of edge/vertex manipulation because they're at all sorts of weird angles.
any other ideas?
edit: all points are on the 2-grid [i'm not even down at the 1-size].
Last edited by sliver on Sat Jun 18, 2005 5:14 pm, edited 1 time in total.
I realize that it would be nice to figure out why this is happening and come up with a solution but, failing that, why not just make the brush in question axial rather than tapered and alter the trim it joins to match? Seems odd to need a 2-unit difference in width on a very long thin brush...
I beat the internet; the end guy is hard.
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Try replacing the last three numbers (which are now "134217728 4 0") with zeroes. Do so for all offending vertexes.sliver wrote:Code: Select all
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
EDIT: what a little Perl magic can't do for you... Here you go:
Code: Select all
// brush 3029
{
( 1272 1912 48 ) ( 1184 1912 48 ) ( 1184 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1184 1904 64 ) ( 1184 1912 64 ) ( 1272 1912 64 ) heffctf3/e8creteold_red 0 0 0 0.500000 0.500000 0 0 0
( 1264 1904 64 ) ( 1264 1904 48 ) ( 1184 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1264 1904 48 ) ( 1264 1904 64 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1272 1912 64 ) ( 1184 1912 64 ) ( 1184 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 1912 64 ) ( 672 1904 64 ) ( 672 1904 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
}
// brush 3030
{
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1496 2056 64 ) ( 1496 2064 64 ) ( 1728 2064 64 ) heffctf3/e8creteold_red 0 0 0 0.500000 0.500000 0 0 0
( 1496 2056 64 ) ( 1728 2056 64 ) ( 1728 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1728 2056 64 ) ( 1728 2064 64 ) ( 1728 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1544 2064 64 ) ( 1312 2064 64 ) ( 1312 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 2072 64 ) ( 672 2064 64 ) ( 672 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
}
// brush 3031
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/e8crete01 0 0 0 0.500000 0.500000 0 0 0
( 680 1912 64 ) ( 1096 1912 64 ) ( 1096 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1728 1968 64 ) ( 1728 2064 64 ) ( 1728 2064 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1088 2056 64 ) ( 672 2056 64 ) ( 672 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1272 1912 48 ) ( 672 1914 48 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 2054 48 ) ( 1272 2056 48 ) ( 672 2054 64 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
}
// brush 3032
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/nundarkwall 0 0 0 0.500000 0.500000 0 0 0
( 1088 2056 64 ) ( 672 2056 64 ) ( 672 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 1272 2056 48 ) ( 672 2054 48 ) ( 672 2054 64 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
}
// brush 3033
{
( 1088 2048 48 ) ( 672 2048 48 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 1952 64 ) ( 672 2048 64 ) ( 1088 2048 64 ) heffctf3/nundarkwall 0 0 0 0.500000 0.500000 0 0 0
( 680 1912 64 ) ( 1096 1912 64 ) ( 1096 1912 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 2048 64 ) ( 672 1952 64 ) ( 672 1952 48 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
( 672 1914 48 ) ( 1272 1912 48 ) ( 1272 1912 64 ) common/caulk 0 0 0 0.500000 0.500000 0 0 0
}
}
didn't fix itFjoggs wrote:sometimes just running it solves the problem without showing any error brushes.
that's just the way it is. As things stand i'm going to have to make it axial and add something else in the middle to hide the non-continuity. Not a big problem, but not what i wanted.pjw wrote:I realize that it would be nice to figure out why this is happening and come up with a solution but, failing that, why not just make the brush in question axial rather than tapered and alter the trim it joins to match? Seems odd to need a 2-unit difference in width on a very long thin brush...
There's nothing there. I've checked again and again with all filters off and nothing hidden.Hr.O wrote:Something funny comes to mind, shift-H to unhide the hidden, ctrl-D hide/unhide detail brushes, and ctrl-shift-D to do the same with your structural stuff.
Hr.O
I tried splitting it into triangles. But as soon as i add the third triangle (the one that makes it a tapered shape) it fucks up ...codey- wrote:Try make two brushes of them by splitting the textured surface diagonally to make triangles.
And next step would be going down to 1 unit grid.
that didn't fix it. That said, almost every brush in my map, when viewed in textpad, has a weird number like 134217728 or whatever; is that a bad sign? (The rest of the brushes are behaving fine.) I tried replacing them all with 0s at one go in textpad, and it worked, but then i got a max_map_visibility error or something like that when I compiled the vis stage.^misantropia^ wrote:Try replacing the last three numbers (which are now "134217728 4 0") with zeroes. Do so for all offending vertexes.sliver wrote:Code: Select all
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0
i'm using the very latest non-beta q3map2, and yes i'm using meta.
<s>if i decide to try those brushes again i'll put up a copy. for now, they dont exist.</s>
<u>here is a copy of that bit of floor</u>
<s>if i decide to try those brushes again i'll put up a copy. for now, they dont exist.</s>
<u>here is a copy of that bit of floor</u>
-
- Posts: 4022
- Joined: Sat Mar 12, 2005 6:24 pm
Yeah, just find/replace with whatever.axbaby wrote:i didn't have those textures ...all i saw was caulk and missing shader image.
sliver, I screwed around with it for a bit, and you have a pretty decent wtf here.

I'm guessing it's just some editor or compiler error of some kind caused by the very gradual taper. Those long thin triangle brushes were just h0rked (technical term) and wouldn't re-merge with the ones next to them (radiant thought they didn't match up), and when I tried to edge-drag them, one just disappeared entirely, and when I took a close-up look at the other one, it looked like the pointy bit had about 4 verts in varying x/y positions--kinda scary.
Anyway, I just deleted them and rebuilt the side brushes and the floor in between, and yeah, when it's not axial not only do the side trims get squared off, but they aren't even 10 on the y anymore (the width of the wide end)--for some reason they get knocked up to 12 in-game. Go figure.
If you make them axial at 10, they, of course, stay at 10.
I'll bounce this off ydnar if I talk to him anytime soon, but don't hold your breath--I get the impression he's got plenty of non-Q3-ish shit to deal with these days.

Looks like it's a known issue, so yeah, just make the brushes axial rather than having long, thin tapered brushes...
[12:56] ydnar: Q3Map does snap very shallow angled faces
[12:57] ydnar: brushes that come together at acute angles
[12:57] pjw (raven): Oh, so it's a known issue? Hmmn. I never knew that.
[12:57] ydnar: the code is dodgy.
[12:57] ydnar: spog wrote better brush->faces clipping code into Radiant, but I never ported it to the tools.
[12:56] ydnar: Q3Map does snap very shallow angled faces
[12:57] ydnar: brushes that come together at acute angles
[12:57] pjw (raven): Oh, so it's a known issue? Hmmn. I never knew that.
[12:57] ydnar: the code is dodgy.
[12:57] ydnar: spog wrote better brush->faces clipping code into Radiant, but I never ported it to the tools.