qbsp: make func_detail_wall an alias for func_detail_fence
This commit is contained in:
parent
3e56b635c0
commit
ddf2a36d39
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue