don't seg on hint and skip brushs. hint and clip brushes are now known to

work (what is a skip brush?)
This commit is contained in:
Bill Currie 2003-03-25 16:34:07 +00:00
parent 8db859b77c
commit 81cf1cc99d

View file

@ -567,27 +567,34 @@ LoadBrush (mbrush_t *mb, int hullnum)
mface_t *f; mface_t *f;
// check texture name for attributes // check texture name for attributes
name = miptex[bsp->texinfo[mb->faces->texinfo].miptex]; if (mb->faces->texinfo < 0) {
// ignore HINT and SKIP in clip hulls
if (hullnum)
return NULL;
contents = CONTENTS_EMPTY;
} else {
name = miptex[bsp->texinfo[mb->faces->texinfo].miptex];
if (!strcasecmp (name, "clip") && hullnum == 0) if (!strcasecmp (name, "clip") && hullnum == 0)
return NULL; // "clip" brushes don't show up in the draw hull return NULL; // "clip" brushes don't show up in the draw hull
if (name[0] == '*' && worldmodel) { // entities never use water merging if (name[0] == '*' && worldmodel) { // entities never use water merging
if (!strncasecmp (name + 1, "lava", 4)) if (!strncasecmp (name + 1, "lava", 4))
contents = CONTENTS_LAVA; contents = CONTENTS_LAVA;
else if (!strncasecmp (name + 1, "slime", 5)) else if (!strncasecmp (name + 1, "slime", 5))
contents = CONTENTS_SLIME; contents = CONTENTS_SLIME;
else
contents = CONTENTS_WATER;
} else if (!strncasecmp (name, "sky", 3) && worldmodel && hullnum == 0)
contents = CONTENTS_SKY;
else else
contents = CONTENTS_WATER; contents = CONTENTS_SOLID;
} else if (!strncasecmp (name, "sky", 3) && worldmodel && hullnum == 0)
contents = CONTENTS_SKY;
else
contents = CONTENTS_SOLID;
if (hullnum && contents != CONTENTS_SOLID && contents != CONTENTS_SKY) if (hullnum && contents != CONTENTS_SOLID && contents != CONTENTS_SKY)
return NULL; // water brushes don't show up in clipping hulls return NULL; // water brushes don't show up in clipping hulls
// no seperate textures on clip hull // no seperate textures on clip hull
}
// create the faces // create the faces
brush_faces = NULL; brush_faces = NULL;