X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=tools%2Fquake3%2Fq3map2%2Fportals.c;h=2efc1db47c0ea1bcad12fa27bcae6d214038cf92;hb=f6b5ecda0bc947aa19472738121158e9797326a5;hp=02209d542bfa17a633fce97be609b24fbaeaa9e8;hpb=428a588b4c93c25465374cdd7b8a6ef689aad049;p=xonotic%2Fnetradiant.git diff --git a/tools/quake3/q3map2/portals.c b/tools/quake3/q3map2/portals.c index 02209d54..2efc1db4 100644 --- a/tools/quake3/q3map2/portals.c +++ b/tools/quake3/q3map2/portals.c @@ -668,9 +668,15 @@ qboolean FloodEntities( tree_t *tree ) /* get origin */ GetVectorForKey( e, "origin", origin ); + + /* as a special case, allow origin-less entities */ if( VectorCompare( origin, vec3_origin ) ) continue; + /* also allow bmodel entities outside, as they could be on a moving path that will go into the map */ + if( e->brushes != NULL || e->patches != NULL ) + continue; + /* handle skybox entities */ value = ValueForKey( e, "classname" ); if( !Q_stricmp( value, "_skybox" ) ) @@ -719,7 +725,11 @@ qboolean FloodEntities( tree_t *tree ) r = PlaceOccupant( headnode, origin, e, skybox ); if( r ) inside = qtrue; - if( (!r || tree->outside_node.occupied) && !tripped ) + if( !r ) + { + Sys_Printf( "Entity %i, Brush %i: Entity in solid\n", e->mapEntityNum, 0); + } + else if( tree->outside_node.occupied && !tripped ) { xml_Select( "Entity leaked", e->mapEntityNum, 0, qfalse ); tripped = qtrue;