Page 1 of 1

grates mysterisouly start acting as weapon clips [solved]

Posted: Sat Jul 28, 2007 1:11 pm
by dichtfux
I replaced a piece of glass with grates in one of my q3 maps to allow players to shoot at each other through the brush.

I deleted the weapon clip and replaced the glass texture on one face with textures/base_floor/pjgrate1. All other faces of the brush are covered with textures/common/nodraw. The brush is set to detail.

I've some grates with the same properties in other parts of the map, and as I expected, everything worked fine and I was able to shoot through the grates.

I changed some other things within the map and during a test run, I noticed that the grates suddenly started acting as weapon clips. I don't remember even touching the brush and I didn'T mess with any shaders, I only changed some brushwork in other parts of the map. :icon28:

I double checked (including the view->filter setting in radiant), and there is no weapon clip there. By moving the brush, I also verified that it is the brush with the grate textures that is blocking fire. Making it structural doesn't help either.

What the heck?

I'm using Radiant 1.4 and compile the map using the build-in command line Q3Map2: (test) BSP -meta -vis -light -fast -filter.

//edit: problem solved (see below).

Posted: Sat Jul 28, 2007 5:08 pm
by pjw
That texture/shader is solid.

An interesting problem in Q3 is that the properties of a brush (solid, etc.) are determined by whichever face comes first in the .map file. In this case, if you have a bunch of those grates, and they are square brushes with nodraw on five faces, then one sixth of them are likely to be solid. :)

Solution: Make your own nonsolid version of the shader.

Posted: Sun Jul 29, 2007 2:34 am
by a13n
IIRC there used to be a new feature in q3map2 which specifies the characteristic of its mass explicitly though I never cared about nor used it because it had less priority over many other features to try out.

Posted: Sun Jul 29, 2007 9:19 pm
by dichtfux
@pjw: Thanks for the info. I remember hearing about that now that you mention it.

Changes are trivial, but here's the file anyways for anyone who cares.

Code: Select all

// my own grate, non-solid
// based on the oeriginal id shader 'textures/base_floor/pjgrate1' (quite obviously)
textures/spirit3t3_spirit/my_pjgrate1
{
	surfaceparm	metalsteps
	surfaceparm nonsolid
	cull none

	// A GRATE OR GRILL THAT CAN BE SEEN FROM BOTH SIDES
	{
		map textures/base_floor/pjgrate1.tga
		tcMod scale 2 2
		blendFunc GL_ONE GL_ZERO
		alphaFunc GE128
		depthWrite
		rgbGen identity
	}
	{
		map $lightmap
		rgbGen identity
		blendFunc GL_DST_COLOR GL_ZERO
		depthFunc equal
	}
}