* -keepmodels in -bsp / _keepModels on worldspawn: keep misc_model entities in the BSP file after compile
This commit is contained in:
parent
affe89e774
commit
1da9dbfea9
|
|
@ -139,6 +139,7 @@ td.formatted_questions ol { margin-top: 0px; margin-bottom: 0px; }
|
||||||
<li><strong><code>-flat</code>:</strong> Enable flat shading (good for combining with -celshader)</li>
|
<li><strong><code>-flat</code>:</strong> Enable flat shading (good for combining with -celshader)</li>
|
||||||
<li><strong><code>-fulldetail</code>:</strong> Treat detail brushes as structural ones</li>
|
<li><strong><code>-fulldetail</code>:</strong> Treat detail brushes as structural ones</li>
|
||||||
<li><strong><code>-keeplights</code>:</strong> Keep light entities in the BSP file after compile</li>
|
<li><strong><code>-keeplights</code>:</strong> Keep light entities in the BSP file after compile</li>
|
||||||
|
<li><strong><code>-keepmodels</code>:</strong> Keep misc_model entities in the BSP file after compile</li>
|
||||||
<li><strong><code>-leaktest</code>:</strong> Abort if a leak was found</li>
|
<li><strong><code>-leaktest</code>:</strong> Abort if a leak was found</li>
|
||||||
<li><strong><code>-maxarea</code>:</strong> Use Max Area face surface generation</li>
|
<li><strong><code>-maxarea</code>:</strong> Use Max Area face surface generation</li>
|
||||||
<li><strong><code>-meta</code>:</strong> Combine adjacent triangles of the same texture to surfaces (ALWAYS USE THIS)</li>
|
<li><strong><code>-meta</code>:</strong> Combine adjacent triangles of the same texture to surfaces (ALWAYS USE THIS)</li>
|
||||||
|
|
|
||||||
|
|
@ -150,6 +150,7 @@ td.formatted_questions ol { margin-top: 0px; margin-bottom: 0px; }
|
||||||
<li><strong><code>_foghull</code>:</strong> must be set to a sky shader without <strong><code>textures/</code></strong> prefix when <code>_farplanedist</code> is used to avoid HoM effect</li>
|
<li><strong><code>_foghull</code>:</strong> must be set to a sky shader without <strong><code>textures/</code></strong> prefix when <code>_farplanedist</code> is used to avoid HoM effect</li>
|
||||||
<li><strong><code>_ignoreleaks</code>, <code>ignoreleaks</code>:</strong> when set, no leak test is performed</li>
|
<li><strong><code>_ignoreleaks</code>, <code>ignoreleaks</code>:</strong> when set, no leak test is performed</li>
|
||||||
<li><strong><code>_keepLights</code>:</strong> if set, <strong><code>light</code></strong> entities are not stripped from the <code>BSP</code> file when compiling</li>
|
<li><strong><code>_keepLights</code>:</strong> if set, <strong><code>light</code></strong> entities are not stripped from the <code>BSP</code> file when compiling</li>
|
||||||
|
<li><strong><code>_keepModels</code>:</strong> if set, <strong><code>misc_model</code></strong> entities are not stripped from the <code>BSP</code> file when compiling</li>
|
||||||
<li><strong><code>_maxlight</code>:</strong> amount of maximum light</li>
|
<li><strong><code>_maxlight</code>:</strong> amount of maximum light</li>
|
||||||
<li><strong><code>_mingridlight</code>:</strong> amount of minimum grid light</li>
|
<li><strong><code>_mingridlight</code>:</strong> amount of minimum grid light</li>
|
||||||
<li><strong><code>_minlight</code>:</strong> amount of minimum light</li>
|
<li><strong><code>_minlight</code>:</strong> amount of minimum light</li>
|
||||||
|
|
|
||||||
|
|
@ -670,6 +670,10 @@ int BSPMain( Args& args ){
|
||||||
keepLights = true;
|
keepLights = true;
|
||||||
Sys_Printf( "Leaving light entities on map after compile\n" );
|
Sys_Printf( "Leaving light entities on map after compile\n" );
|
||||||
}
|
}
|
||||||
|
while ( args.takeArg( "-keepmodels" ) ) {
|
||||||
|
keepModels = true;
|
||||||
|
Sys_Printf( "Leaving misc_model entities on map after compile\n" );
|
||||||
|
}
|
||||||
while ( args.takeArg( "-nodetail" ) ) {
|
while ( args.takeArg( "-nodetail" ) ) {
|
||||||
Sys_Printf( "Ignoring detail brushes\n" );
|
Sys_Printf( "Ignoring detail brushes\n" );
|
||||||
nodetail = true;
|
nodetail = true;
|
||||||
|
|
|
||||||
|
|
@ -445,6 +445,13 @@ void InjectCommandLine( const char *stage, const std::vector<const char *>& args
|
||||||
void UnparseEntities(){
|
void UnparseEntities(){
|
||||||
StringOutputStream data( 8192 );
|
StringOutputStream data( 8192 );
|
||||||
|
|
||||||
|
/* -keepmodels option: force misc_models to be kept and ignore what the map file says */
|
||||||
|
if ( keepModels )
|
||||||
|
entities[0].setKeyValue( "_keepModels", "1" ); // -keepmodels is -bsp option; save key in worldspawn to pass it to the next stages
|
||||||
|
|
||||||
|
/* determine if we keep misc_models in the bsp */
|
||||||
|
entities[ 0 ].read_keyvalue( keepModels, "_keepModels" );
|
||||||
|
|
||||||
/* run through entity list */
|
/* run through entity list */
|
||||||
for ( std::size_t i = 0; i < numBSPEntities && i < entities.size(); ++i )
|
for ( std::size_t i = 0; i < numBSPEntities && i < entities.size(); ++i )
|
||||||
{
|
{
|
||||||
|
|
@ -455,7 +462,7 @@ void UnparseEntities(){
|
||||||
}
|
}
|
||||||
/* ydnar: certain entities get stripped from bsp file */
|
/* ydnar: certain entities get stripped from bsp file */
|
||||||
const char *classname = e.classname();
|
const char *classname = e.classname();
|
||||||
if ( striEqual( classname, "misc_model" ) ||
|
if ( ( striEqual( classname, "misc_model" ) && !keepModels ) ||
|
||||||
striEqual( classname, "_decal" ) ||
|
striEqual( classname, "_decal" ) ||
|
||||||
striEqual( classname, "_skybox" ) ) {
|
striEqual( classname, "_skybox" ) ) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
|
|
@ -922,22 +922,22 @@ struct game_ja : game_sof2
|
||||||
|
|
||||||
const std::vector<game_t> g_games = { game_quake3(),
|
const std::vector<game_t> g_games = { game_quake3(),
|
||||||
game_quakelive(),
|
game_quakelive(),
|
||||||
game_nexuiz(),
|
game_nexuiz(),
|
||||||
game_xonotic(),
|
game_xonotic(),
|
||||||
game_tremulous(),
|
game_tremulous(),
|
||||||
game_unvanquished(),
|
game_unvanquished(),
|
||||||
game_tenebrae(),
|
game_tenebrae(),
|
||||||
game_wolf(),
|
game_wolf(),
|
||||||
game_wolfet(),
|
game_wolfet(),
|
||||||
game_etut(),
|
game_etut(),
|
||||||
game_ef(),
|
game_ef(),
|
||||||
game_qfusion(),
|
game_qfusion(),
|
||||||
game_reaction(),
|
game_reaction(),
|
||||||
game_darkplaces(),
|
game_darkplaces(),
|
||||||
game_dq(),
|
game_dq(),
|
||||||
game_prophecy(),
|
game_prophecy(),
|
||||||
game_sof2(),
|
game_sof2(),
|
||||||
game_jk2(),
|
game_jk2(),
|
||||||
game_ja(),
|
game_ja(),
|
||||||
};
|
};
|
||||||
const game_t *g_game = &g_games[0];
|
const game_t *g_game = &g_games[0];
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@ static void HelpBsp()
|
||||||
{"-flat", "Enable flat shading (good for combining with -celshader)"},
|
{"-flat", "Enable flat shading (good for combining with -celshader)"},
|
||||||
{"-fulldetail", "Treat detail brushes as structural ones"},
|
{"-fulldetail", "Treat detail brushes as structural ones"},
|
||||||
{"-keeplights", "Keep light entities in the BSP file after compile"},
|
{"-keeplights", "Keep light entities in the BSP file after compile"},
|
||||||
|
{"-keepmodels", "Keep misc_model entities in the BSP file after compile"},
|
||||||
{"-leaktest", "Abort if a leak was found"},
|
{"-leaktest", "Abort if a leak was found"},
|
||||||
{"-maxarea", "Use Max Area face surface generation"},
|
{"-maxarea", "Use Max Area face surface generation"},
|
||||||
{"-meta", "Combine adjacent triangles of the same texture to surfaces (ALWAYS USE THIS)"},
|
{"-meta", "Combine adjacent triangles of the same texture to surfaces (ALWAYS USE THIS)"},
|
||||||
|
|
|
||||||
|
|
@ -1771,6 +1771,7 @@ inline int metaGoodScore = -1;
|
||||||
inline bool g_noob;
|
inline bool g_noob;
|
||||||
inline String64 globalCelShader;
|
inline String64 globalCelShader;
|
||||||
inline bool keepLights;
|
inline bool keepLights;
|
||||||
|
inline bool keepModels;
|
||||||
|
|
||||||
#if Q3MAP2_EXPERIMENTAL_SNAP_NORMAL_FIX
|
#if Q3MAP2_EXPERIMENTAL_SNAP_NORMAL_FIX
|
||||||
// Increasing the normalEpsilon to compensate for new logic in SnapNormal(), where
|
// Increasing the normalEpsilon to compensate for new logic in SnapNormal(), where
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ void SetLightStyles(){
|
||||||
|
|
||||||
/* -keeplights option: force lights to be kept and ignore what the map file says */
|
/* -keeplights option: force lights to be kept and ignore what the map file says */
|
||||||
if ( keepLights ) {
|
if ( keepLights ) {
|
||||||
entities[0].setKeyValue( "_keepLights", "1" );
|
entities[0].setKeyValue( "_keepLights", "1" ); // -keeplights is -bsp option; save key in worldspawn to pass it to the next stages
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ydnar: determine if we keep lights in the bsp */
|
/* ydnar: determine if we keep lights in the bsp */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user