CopiedString g_selectedShader;
TextureProjection g_selectedTexdef;
ContentsFlagsValue g_selectedFlags;
+ size_t g_selectedShaderSize[2];
}
void SurfaceInspector_SetSelectedShader(const char* shader)
//This *may* be the point before it fucks up... Let's see!
//Yep, there was a call to removeScale in there...
Scene_BrushGetTexdef_Component_Selected(GlobalSceneGraph(), projection);
+
SurfaceInspector_SetSelectedTexdef(projection);
+ Scene_BrushGetShaderSize_Component_Selected(GlobalSceneGraph(), g_selectedShaderSize[0], g_selectedShaderSize[1]);
+ g_selectedTexdef.m_brushprimit_texdef.coords[0][2] = float_mod(g_selectedTexdef.m_brushprimit_texdef.coords[0][2], (float)g_selectedShaderSize[0]);
+ g_selectedTexdef.m_brushprimit_texdef.coords[1][2] = float_mod(g_selectedTexdef.m_brushprimit_texdef.coords[1][2], (float)g_selectedShaderSize[1]);
+
CopiedString name;
Scene_BrushGetShader_Component_Selected(GlobalSceneGraph(), name);
if(string_not_empty(name.c_str()))
g_object_set_data(G_OBJECT(check), "handler", gint_to_pointer(handler_id));
}
}
+
+ // not allowed to modify detail flag using Surface Inspector
+ gtk_widget_set_sensitive(GTK_WIDGET(m_contentFlags[BRUSH_DETAIL_FLAG]), FALSE);
}
}
}
//Ok, it's screwed up *before* we get here...
ShiftScaleRotate_fromFace(shiftScaleRotate, SurfaceInspector_GetSelectedTexdef());
+ // normalize again to hide the ridiculously high scale values that get created when using texlock
+ shiftScaleRotate.shift[0] = float_mod(shiftScaleRotate.shift[0], (float)g_selectedShaderSize[0]);
+ shiftScaleRotate.shift[1] = float_mod(shiftScaleRotate.shift[1], (float)g_selectedShaderSize[1]);
+
{
spin_button_set_value_no_signal(m_hshiftIncrement.m_spin, shiftScaleRotate.shift[0]);
spin_button_set_step_increment(m_hshiftIncrement.m_spin, g_si_globals.shift[0]);
GlobalPreferenceSystem().registerPreference("SI_SurfaceTexdef_Rotate", FloatImportStringCaller(g_si_globals.rotate), FloatExportStringCaller(g_si_globals.rotate));
GlobalPreferenceSystem().registerPreference("SnapTToGrid", BoolImportStringCaller(g_si_globals.m_bSnapTToGrid), BoolExportStringCaller(g_si_globals.m_bSnapTToGrid));
- GlobalSelectionSystem().addSelectionChangeCallback(FreeCaller1<const Selectable&, SurfaceInspector_SelectionChanged>());
- Brush_addTextureChangedCallback(FreeCaller<SurfaceInspector_updateSelection>());
- Patch_addTextureChangedCallback(FreeCaller<SurfaceInspector_updateSelection>());
+ typedef FreeCaller1<const Selectable&, SurfaceInspector_SelectionChanged> SurfaceInspectorSelectionChangedCaller;
+ GlobalSelectionSystem().addSelectionChangeCallback(SurfaceInspectorSelectionChangedCaller());
+ typedef FreeCaller<SurfaceInspector_updateSelection> SurfaceInspectorUpdateSelectionCaller;
+ Brush_addTextureChangedCallback(SurfaceInspectorUpdateSelectionCaller());
+ Patch_addTextureChangedCallback(SurfaceInspectorUpdateSelectionCaller());
SurfaceInspector_registerPreferencesPage();
}