]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/brushmanip.cpp
Merge commit '9fed37bae007bd5e53963ec67e925381609a2980' into garux-merge
[xonotic/netradiant.git] / radiant / brushmanip.cpp
index fc3054e1516d6e308656587e729fadb3b523143f..900e78b9b506c0c1ebdbc3594a6b4f539acd1ecc 100644 (file)
@@ -555,6 +555,28 @@ void Scene_BrushFindReplaceShader_Component_Selected( scene::Graph& graph, const
 }
 
 
+class FaceFitTextureW
+{
+float m_s_repeat, m_t_repeat;
+public:
+FaceFitTextureW( float s_repeat, float t_repeat ) : m_s_repeat( s_repeat ), m_t_repeat( t_repeat ){
+}
+void operator()( Face& face ) const {
+       face.FitTextureW( m_s_repeat, m_t_repeat );
+}
+};
+
+class FaceFitTextureH
+{
+float m_s_repeat, m_t_repeat;
+public:
+FaceFitTextureH( float s_repeat, float t_repeat ) : m_s_repeat( s_repeat ), m_t_repeat( t_repeat ){
+}
+void operator()( Face& face ) const {
+       face.FitTextureH( m_s_repeat, m_t_repeat );
+}
+};
+
 void Scene_BrushFitTexture_Selected( scene::Graph& graph, float s_repeat, float t_repeat ){
        Scene_ForEachSelectedBrush_ForEachFace(graph, [&](Face &face) {
                face.FitTexture(s_repeat, t_repeat);
@@ -569,6 +591,26 @@ void Scene_BrushFitTexture_Component_Selected( scene::Graph& graph, float s_repe
        SceneChangeNotify();
 }
 
+void Scene_BrushFitTexture_SelectedW( scene::Graph& graph, float s_repeat, float t_repeat ){
+       Scene_ForEachSelectedBrush_ForEachFace( graph, FaceFitTextureW( s_repeat, t_repeat ) );
+       SceneChangeNotify();
+}
+
+void Scene_BrushFitTexture_Component_SelectedW( scene::Graph& graph, float s_repeat, float t_repeat ){
+       Scene_ForEachSelectedBrushFace( graph, FaceFitTextureW( s_repeat, t_repeat ) );
+       SceneChangeNotify();
+}
+
+void Scene_BrushFitTexture_SelectedH( scene::Graph& graph, float s_repeat, float t_repeat ){
+       Scene_ForEachSelectedBrush_ForEachFace( graph, FaceFitTextureH( s_repeat, t_repeat ) );
+       SceneChangeNotify();
+}
+
+void Scene_BrushFitTexture_Component_SelectedH( scene::Graph& graph, float s_repeat, float t_repeat ){
+       Scene_ForEachSelectedBrushFace( graph, FaceFitTextureH( s_repeat, t_repeat ) );
+       SceneChangeNotify();
+}
+
 TextureProjection g_defaultTextureProjection;
 
 const TextureProjection& TextureTransform_getDefault(){
@@ -638,8 +680,8 @@ void Scene_BrushSelectByShader_Component( scene::Graph& graph, const char* name
        Scene_ForEachSelectedBrush_ForEachFaceInstance(graph, [&](FaceInstance &face) {
                printf("checking %s = %s\n", face.getFace().GetShader(), name);
                if (shader_equal(face.getFace().GetShader(), name)) {
-                       face.setSelected(SelectionSystem::eFace, true);
-               }
+               face.setSelected( SelectionSystem::eFace, true );
+       }
        });
 }
 
@@ -649,7 +691,7 @@ void Scene_BrushGetTexdef_Selected( scene::Graph& graph, TextureProjection& proj
                if (!done) {
                        done = true;
                        face.GetTexdef(projection);
-               }
+}
        });
 }
 
@@ -1247,7 +1289,7 @@ void Brush_registerCommands(){
        GlobalCommands_insert( "SplitSelected", makeCallbackF(SplitSelected), Accelerator( GDK_KEY_Return, (GdkModifierType)GDK_SHIFT_MASK ) );
        GlobalCommands_insert( "FlipClip", makeCallbackF(FlipClipper), Accelerator( GDK_KEY_Return, (GdkModifierType)GDK_CONTROL_MASK ) );
 
-       GlobalCommands_insert( "MakeDetail", makeCallbackF(Select_MakeDetail), Accelerator( 'M', (GdkModifierType)GDK_CONTROL_MASK ) );
+       GlobalCommands_insert( "MakeDetail", makeCallbackF(Select_MakeDetail), Accelerator( 'D', (GdkModifierType)GDK_MOD1_MASK ) );
        GlobalCommands_insert( "MakeStructural", makeCallbackF(Select_MakeStructural), Accelerator( 'S', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) );
 }