Quake3World.com Forums
     Level Editing & Modeling
        What the hell? Simple brush borked in-game ... please help


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: What the hell? Simple brush borked in-game ... please help

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-17-2005 07:14 PM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 

Immortal
Immortal
Joined: 20 Jun 2000
Posts: 2781
PostPosted: 06-17-2005 09:54 PM           Profile Send private message  E-mail  Edit post Reply with quote


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?




Top
                 

Eh?
Eh?
Joined: 25 Mar 2001
Posts: 32049
PostPosted: 06-18-2005 12:28 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Delete the brush, and do it again. It sometimes happens when you cope/paste other brushes.

Your lucky your not working with Q2, where this happens all the time, but you wont know until you save and then reload the map...




Top
                 

Eh?
Eh?
Joined: 25 Mar 2001
Posts: 32049
PostPosted: 06-18-2005 02:02 AM           Profile   Send private message  E-mail  Edit post Reply with quote


Right, in that case double check that your using the lowest possible size and that all your points match correctly?

Odd.




Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 09:11 AM           Profile Send private message  E-mail  Edit post Reply with quote


these are the trouble brushes:

Code:
// 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
}
}


they look okay to me :paranoid:

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 06-18-2005 09:14 AM, edited 1 time in total.

Top
                 

Old Skool'
Old Skool'
Joined: 02 May 2002
Posts: 5230
PostPosted: 06-18-2005 09:12 AM           Profile Send private message  E-mail  Edit post Reply with quote


brush cleanup?




Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 09:15 AM           Profile Send private message  E-mail  Edit post Reply with quote


if you mean bobtoolz, it doesnt find anything wrong




Top
                 

Old Skool'
Old Skool'
Joined: 02 May 2002
Posts: 5230
PostPosted: 06-18-2005 09:30 AM           Profile Send private message  E-mail  Edit post Reply with quote


sometimes just running it solves the problem without showing any error brushes.




Top
                 

True Nightmare
True Nightmare
Joined: 06 May 2000
Posts: 4373
PostPosted: 06-18-2005 09:35 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.


Top
                 

brushmangler
brushmangler
Joined: 11 Jul 2000
Posts: 3760
PostPosted: 06-18-2005 09:45 AM           Profile Send private message  E-mail  Edit post Reply with quote


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




Top
                 

Trainee
Trainee
Joined: 07 Mar 2005
Posts: 44
PostPosted: 06-18-2005 09:48 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.

cheers




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 06-18-2005 11:22 AM           Profile Send private message  E-mail  Edit post Reply with quote


sliver wrote:
Code:
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0


Try replacing the last three numbers (which are now "134217728 4 0") with zeroes. Do so for all offending vertexes.
EDIT: what a little Perl magic can't do for you... Here you go:

Code:
// 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
}
}




Top
                 

axbaby
axbaby
Joined: 22 Dec 1999
Posts: 17369
PostPosted: 06-18-2005 02:23 PM           Profile Send private message  E-mail  Edit post Reply with quote


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


it does look like a duplicate brush problem



_________________
[WYD]


Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 03:00 PM           Profile Send private message  E-mail  Edit post Reply with quote


Fjoggs wrote:
sometimes just running it solves the problem without showing any error brushes.


didn't fix it

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...


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.

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


There's nothing there. I've checked again and again with all filters off and nothing hidden.

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.


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 ...

^misantropia^ wrote:
sliver wrote:
Code:
( 1728 2064 48 ) ( 1496 2064 48 ) ( 1496 2056 48 ) common/caulk 0 0 0 0.500000 0.500000 134217728 4 0


Try replacing the last three numbers (which are now "134217728 4 0") with zeroes. Do so for all offending vertexes.


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.




Top
                 

The Afflicted
The Afflicted
Joined: 27 Mar 2002
Posts: 793
PostPosted: 06-18-2005 03:32 PM           Profile Send private message  E-mail  Edit post Reply with quote


134217728 ( 2^27 ) is the detail flag




Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 05:30 PM           Profile Send private message  E-mail  Edit post Reply with quote


oh well i spose that makes a bit of sense




Top
                 

True Nightmare
True Nightmare
Joined: 06 May 2000
Posts: 4373
PostPosted: 06-18-2005 05:40 PM           Profile Send private message  E-mail  Edit post Reply with quote


What compiler are you using, and are you using the -meta switch?

If you want, save those two brushes out and put a box around them and a player start and put the .map up somewhere. I'm curious...




Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 07:43 PM           Profile Send private message  E-mail  Edit post Reply with quote


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>




Top
                 

axbaby
axbaby
Joined: 22 Dec 1999
Posts: 17369
PostPosted: 06-18-2005 08:43 PM           Profile Send private message  E-mail  Edit post Reply with quote


there are 2 real thin brushes in there
2 units wide at one end 0 unit wide at the other ..it's a long triangle .. 3 sided instead of 4.
q3map doesn't like triangles only rectangles ...as far as i know



_________________
[WYD]


Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-18-2005 08:55 PM           Profile Send private message  E-mail  Edit post Reply with quote


the triangles are just so you can see exactly where the problem is [thats why i used a darker texture]

if you merge them with the thin rectangles beside them you'll get the same tapered brushes this thread started off about, and they'll still be fucked.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 06-19-2005 05:15 AM           Profile Send private message  E-mail  Edit post Reply with quote


axbaby wrote:
q3map doesn't like triangles only rectangles ...as far as i know


Shouldn't be a problem if they're created with the clipper tool.




Top
                 

axbaby
axbaby
Joined: 22 Dec 1999
Posts: 17369
PostPosted: 06-19-2005 08:19 AM           Profile Send private message  E-mail  Edit post Reply with quote


i didn't have those textures ...all i saw was caulk and missing shader image.



_________________
[WYD]


Top
                 

True Nightmare
True Nightmare
Joined: 06 May 2000
Posts: 4373
PostPosted: 06-19-2005 01:45 PM           Profile Send private message  E-mail  Edit post Reply with quote


axbaby wrote:
i didn't have those textures ...all i saw was caulk and missing shader image.


Yeah, just find/replace with whatever.

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. :)




Top
                 

orphan of war
orphan of war
Joined: 05 May 2005
Posts: 853
PostPosted: 06-19-2005 04:05 PM           Profile Send private message  E-mail  Edit post Reply with quote


yeah i've pretty much given up on getting it fixed, but it's not a huge problem so i can't say i care all that much.

What's weird is i carefully replaced my custom textures with some standard ones out of base_wall and yet you still can't see them :|




Top
                 

True Nightmare
True Nightmare
Joined: 06 May 2000
Posts: 4373
PostPosted: 06-21-2005 10:15 AM           Profile Send private message  E-mail  Edit post Reply with quote


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.




Top
                 
Quake3World.com | Forum Index | Level Editing & Modeling


Post new topic Reply to topic


cron
Quake3World.com
© ZeniMax. Zenimax, QUAKE III ARENA, Id Software and associated trademarks are trademarks of the ZeniMax group of companies. All rights reserved.
This is an unofficial fan website without any affiliation with or endorsement by ZeniMax.
All views and opinions expressed are those of the author.