]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/entity.cpp
Merge commit '461d008daa6328113ea4ccda37e5604d3df14ba3' into garux-merge
[xonotic/netradiant.git] / radiant / entity.cpp
index 728307a66f4f3f1fdc2ab83c98e57b56fde5599f..3a7eddb258218c287da5bc146daeca682c1f6a0c 100644 (file)
@@ -316,6 +316,19 @@ void Entity_createFromSelection( const char* name, const Vector3& origin ){
 
        bool brushesSelected = Scene_countSelectedBrushes( GlobalSceneGraph() ) != 0;
 
+       //is important to have retexturing here; if doing in the end, undo doesn't succeed;
+       if ( string_compare_nocase_n( name, "trigger_", 8 ) == 0 && brushesSelected ){
+               const char* shader = g_pGameDescription->getKeyValue( "shader_trigger" );
+               if ( shader && *shader ){
+                       Scene_PatchSetShader_Selected( GlobalSceneGraph(), shader );
+                       Scene_BrushSetShader_Selected( GlobalSceneGraph(), shader );
+               }
+               else{
+                       Scene_PatchSetShader_Selected( GlobalSceneGraph(), "textures/common/trigger" );
+                       Scene_BrushSetShader_Selected( GlobalSceneGraph(), "textures/common/trigger" );
+               }
+       }
+
        if ( !( entityClass->fixedsize || isModel ) && !brushesSelected ) {
                globalErrorStream() << "failed to create a group entity - no brushes are selected\n";
                return;
@@ -402,18 +415,6 @@ void Entity_createFromSelection( const char* name, const Vector3& origin ){
                        Node_getEntity( node )->setKeyValue( "model", model );
                }
        }
-
-       if ( string_compare_nocase_n( name, "trigger_", 8 ) == 0 && brushesSelected ){
-               const char* shader = g_pGameDescription->getKeyValue( "shader_trigger" );
-               if ( shader && *shader ){
-                       Scene_PatchSetShader_Selected( GlobalSceneGraph(), shader );
-                       Scene_BrushSetShader_Selected( GlobalSceneGraph(), shader );
-               }
-               else{
-                       Scene_PatchSetShader_Selected( GlobalSceneGraph(), "textures/common/trigger" );
-                       Scene_BrushSetShader_Selected( GlobalSceneGraph(), "textures/common/trigger" );
-               }
-       }
 }
 
 #if 0