diff --git a/include/qbsp/qbsp.hh b/include/qbsp/qbsp.hh index 3ca42695..e334508c 100644 --- a/include/qbsp/qbsp.hh +++ b/include/qbsp/qbsp.hh @@ -312,6 +312,7 @@ typedef struct options_s { bool fNofill; bool fNoclip; bool fNoskip; + bool fNodetail; bool fOnlyents; bool fConvertMapFormat; conversion_t convertMapFormat; diff --git a/qbsp/brush.cc b/qbsp/brush.cc index f88e9bf0..7ce68e14 100644 --- a/qbsp/brush.cc +++ b/qbsp/brush.cc @@ -970,8 +970,9 @@ Brush_LoadEntity(mapentity_t *dst, const mapentity_t *src, const int hullnum) } /* If the source entity is func_detail, set the content flag */ - if (!Q_strcasecmp(classname, "func_detail")) + if (!Q_strcasecmp(classname, "func_detail") && !options.fNodetail) { cflags |= CFLAGS_DETAIL; + } /* entities with custom lmscales are important for the qbsp to know about */ i = 16 * atof(ValueForKey(src, "_lmscale")); diff --git a/qbsp/qbsp.cc b/qbsp/qbsp.cc index 54ded968..186132b9 100644 --- a/qbsp/qbsp.cc +++ b/qbsp/qbsp.cc @@ -607,6 +607,7 @@ PrintOptions(void) " -nofill Doesn't perform outside filling\n" " -noclip Doesn't build clip hulls\n" " -noskip Doesn't remove faces with the 'skip' texture\n" + " -nodetail Convert func_detail to structural\n" " -onlyents Only updates .MAP entities\n" " -verbose Print out more .MAP information\n" " -noverbose Print out almost no information at all\n" @@ -730,6 +731,8 @@ ParseOptions(char *szOptions) options.fNoclip = true; else if (!Q_strcasecmp(szTok, "noskip")) options.fNoskip = true; + else if (!Q_strcasecmp(szTok, "nodetail")) + options.fNodetail = true; else if (!Q_strcasecmp(szTok, "onlyents")) options.fOnlyents = true; else if (!Q_strcasecmp(szTok, "verbose"))