qbsp: make func_detail_wall an alias for func_detail_fence

This commit is contained in:
Eric Wasylishen 2021-10-01 23:18:27 -06:00
parent 3e56b635c0
commit ddf2a36d39
4 changed files with 4 additions and 23 deletions

View File

@ -101,7 +101,6 @@
// Special contents flags for the compiler only
#define CFLAGS_STRUCTURAL_COVERED_BY_DETAIL (1U << 0)
#define CFLAGS_WAS_ILLUSIONARY (1U << 1) /* was illusionary, got changed to something else */
#define CFLAGS_DETAIL_WALL (1U << 2) /* don't clip world for func_detail_wall entities */
#define CFLAGS_BMODEL_MIRROR_INSIDE (1U << 3) /* set "_mirrorinside" "1" on a bmodel to mirror faces for when the player is inside. */
#define CFLAGS_NO_CLIPPING_SAME_TYPE (1U << 4) /* Don't clip the same content type. mostly intended for CONTENTS_DETAIL_ILLUSIONARY */

View File

@ -1172,13 +1172,9 @@ Brush_LoadEntity(mapentity_t *dst, const mapentity_t *src, const int hullnum)
if (!Q_strcasecmp(classname, "func_detail") && !options.fNodetail) {
all_detail = true;
}
if (!Q_strcasecmp(classname, "func_detail_wall") && !options.fNodetail) {
all_detail = true;
cflags |= CFLAGS_DETAIL_WALL;
}
all_detail_fence = false;
if (!Q_strcasecmp(classname, "func_detail_fence") && !options.fNodetail) {
if ((!Q_strcasecmp(classname, "func_detail_fence") || !Q_strcasecmp(classname, "func_detail_wall")) && !options.fNodetail) {
all_detail_fence = true;
}
@ -1233,9 +1229,7 @@ Brush_LoadEntity(mapentity_t *dst, const mapentity_t *src, const int hullnum)
continue;
/* -omitdetail option omits all types of detail */
if (options.fOmitDetail && detail && !(cflags & CFLAGS_DETAIL_WALL))
continue;
if ((options.fOmitDetail || options.fOmitDetailWall) && detail && (cflags & CFLAGS_DETAIL_WALL))
if (options.fOmitDetail && detail)
continue;
if ((options.fOmitDetail || options.fOmitDetailIllusionary) && detail_illusionary)
continue;

View File

@ -637,14 +637,6 @@ CSGFaces(const mapentity_t *entity)
continue;
}
if (clipbrush->contents == CONTENTS_DETAIL && (clipbrush->cflags & CFLAGS_DETAIL_WALL)
&& !(brush->contents == CONTENTS_DETAIL && (brush->cflags & CFLAGS_DETAIL_WALL))) {
/* if clipbrush has CONTENTS_DETAIL and CFLAGS_DETAIL_WALL are set,
only clip other brushes with both CONTENTS_DETAIL and CFLAGS_DETAIL_WALL.
*/
continue;
}
if (clipbrush->contents == CONTENTS_DETAIL_FENCE
&& brush->contents != CONTENTS_DETAIL_FENCE) {
/* CONTENTS_DETAIL_FENCE never clips anything but itself */

View File

@ -126,22 +126,18 @@ ProcessEntity(mapentity_t *entity, const int hullnum)
{
int solidcount = Brush_ListCount(entity->solid);
int skycount = Brush_ListCount(entity->sky);
int detail_all_count = Brush_ListCount(entity->detail); /* including CFLAGS_DETAIL_WALL */
int detail_wall_count = Brush_ListCountWithCFlags(entity->detail, CFLAGS_DETAIL_WALL);
int detail_all_count = Brush_ListCount(entity->detail);
int detail_illusionarycount = Brush_ListCount(entity->detail_illusionary);
int detail_fence_count = Brush_ListCount(entity->detail_fence);
int liquidcount = Brush_ListCount(entity->liquid);
int nondetailcount = (solidcount + skycount + liquidcount);
int detailcount = detail_all_count - detail_wall_count;
int detailcount = detail_all_count;
Message(msgStat, "%8d brushes", nondetailcount);
if (detailcount > 0) {
Message(msgStat, "%8d detail", detailcount);
}
if (detail_wall_count > 0) {
Message(msgStat, "%8d detail wall", detail_wall_count);
}
if (detail_fence_count > 0) {
Message(msgStat, "%8d detail fence", detail_fence_count);
}