Radiant:
misc... * fix: select inside and touching: ignored ANY filters and hiding, and region * fix: M3 tex paint/grab ignored _hidden_ models * fix: M3 tex paint/grab ignored group ent (world, triggers, et cetera), model filters * fix: shift+a by tex: ignored group ent (world, triggers, et cetera) filters * fix: tex find/replace: ignored any filters, regioning & hiding * fix: shift+a by classname: ignored filters, hiding, region * fix: floor walker ignored group ent filters * fix: csg subtract ignored group ent filters * fix: invert selection: ignored group ent filters * fix: tex find/replace: 'select by shader' mode for patches (was replacing with notex instead) * fix: select inside and touching: were selecting group ents, as single unit (=sensitive to parent node and its bbox) * fix: csg merge two group ents = empty group ent * fix: csg subtract group ent completely = empty group ent * fix: hollow group ent: could produce empty group ent * func_groups are filtered by world filter only, not entities one * new func_group filter, filterBar button; Rightclick = create func_group
This commit is contained in:
@@ -453,12 +453,28 @@ void operator()( Patch& patch ) const {
|
||||
}
|
||||
};
|
||||
|
||||
namespace{
|
||||
bool DoingSearch( const char *repl ){
|
||||
return ( repl == NULL || ( strcmp( "textures/", repl ) == 0 ) );
|
||||
}
|
||||
}
|
||||
void Scene_PatchFindReplaceShader( scene::Graph& graph, const char* find, const char* replace ){
|
||||
Scene_forEachVisiblePatch( PatchFindReplaceShader( find, replace ) );
|
||||
if( DoingSearch( replace ) ){
|
||||
Scene_forEachVisiblePatchInstance( PatchSelectByShader( find ) );
|
||||
}
|
||||
else{
|
||||
Scene_forEachVisiblePatch( PatchFindReplaceShader( find, replace ) );
|
||||
}
|
||||
}
|
||||
|
||||
void Scene_PatchFindReplaceShader_Selected( scene::Graph& graph, const char* find, const char* replace ){
|
||||
Scene_forEachVisibleSelectedPatch( PatchFindReplaceShader( find, replace ) );
|
||||
if( DoingSearch( replace ) ){
|
||||
//do nothing, because alternative is replacing to notex
|
||||
//perhaps deselect ones with not matching shaders here?
|
||||
}
|
||||
else{
|
||||
Scene_forEachVisibleSelectedPatch( PatchFindReplaceShader( find, replace ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user