vmap: Detect 'generatelightmaps' inside prop_static to decide whether or
not to bake an entity into the .bsp or not.
This commit is contained in:
parent
c4655a19e1
commit
ed1b1d6338
2 changed files with 17 additions and 1 deletions
|
@ -834,12 +834,20 @@ void UnparseEntities( void ){
|
||||||
/* ydnar: certain entities get stripped from bsp file */
|
/* ydnar: certain entities get stripped from bsp file */
|
||||||
value2 = ValueForKey( &entities[ i ], "classname" );
|
value2 = ValueForKey( &entities[ i ], "classname" );
|
||||||
if ( !Q_stricmp( value2, "misc_model" ) ||
|
if ( !Q_stricmp( value2, "misc_model" ) ||
|
||||||
!Q_stricmp( value2, "prop_static" ) ||
|
|
||||||
!Q_stricmp( value2, "_decal" ) ||
|
!Q_stricmp( value2, "_decal" ) ||
|
||||||
!Q_stricmp( value2, "_skybox" ) ) {
|
!Q_stricmp( value2, "_skybox" ) ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* only strip prop_statics that are built into the bsp */
|
||||||
|
if (!Q_stricmp( value2, "prop_static" )) {
|
||||||
|
int foo;
|
||||||
|
foo = IntForKey(&entities[i], "generatelightmaps");
|
||||||
|
|
||||||
|
if (foo == 1)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* add beginning brace */
|
/* add beginning brace */
|
||||||
strcat( end, "{\n" );
|
strcat( end, "{\n" );
|
||||||
end += 2;
|
end += 2;
|
||||||
|
|
|
@ -689,6 +689,7 @@ void AddTriangleModels( entity_t *e ){
|
||||||
float temp, baseLightmapScale, lightmapScale;
|
float temp, baseLightmapScale, lightmapScale;
|
||||||
float shadeAngle;
|
float shadeAngle;
|
||||||
int lightmapSampleSize;
|
int lightmapSampleSize;
|
||||||
|
int genlightMap;
|
||||||
vec3_t origin, scale, angles;
|
vec3_t origin, scale, angles;
|
||||||
m4x4_t transform;
|
m4x4_t transform;
|
||||||
epair_t *ep;
|
epair_t *ep;
|
||||||
|
@ -745,6 +746,12 @@ void AddTriangleModels( entity_t *e ){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* only bake into the map if we're generating lightmaps */
|
||||||
|
genlightMap = IntForKey( e2, "generatelightmaps" );
|
||||||
|
|
||||||
|
if (genlightMap != 1)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* ydnar: added support for md3 models on non-worldspawn models */
|
/* ydnar: added support for md3 models on non-worldspawn models */
|
||||||
target = ValueForKey( e2, "target" );
|
target = ValueForKey( e2, "target" );
|
||||||
if ( strcmp( target, targetName ) ) {
|
if ( strcmp( target, targetName ) ) {
|
||||||
|
@ -931,6 +938,7 @@ void AddTriangleModels( entity_t *e ){
|
||||||
|
|
||||||
/* insert the model */
|
/* insert the model */
|
||||||
InsertModel( model, skin, frame, transform, remap, celShader, mapEntityNum, castShadows, recvShadows, spawnFlags, lightmapScale, lightmapSampleSize, shadeAngle );
|
InsertModel( model, skin, frame, transform, remap, celShader, mapEntityNum, castShadows, recvShadows, spawnFlags, lightmapScale, lightmapSampleSize, shadeAngle );
|
||||||
|
printf("Inserting model %s\n", model);
|
||||||
|
|
||||||
/* free shader remappings */
|
/* free shader remappings */
|
||||||
while ( remap != NULL )
|
while ( remap != NULL )
|
||||||
|
|
Loading…
Reference in a new issue