stay in ]-shader_size;shader_size[ range for display.
For the sake of floatingpoint precision, it would be nice
to keep the internal values in that range too, but thats "nice to have".
- Fixed missing librarypaths in ufoai-plugin
git-svn-id: https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk@138
8a3a26a2-13c4-0310-b231-
cf6edde360e5
This is the changelog for developers, != changelog for the end user
that we distribute with the binaries. (see changelog)
+18/01/2007
+namespace
+- Weird shiftvalues are now hidden to the user, shiftvalues will
+ stay in ]-shader_size;shader_size[ range for display.
+ For the sake of floatingpoint precision, it would be nice
+ to keep the internal values in that range too, but thats "nice to have".
+- Fixed missing librarypaths in ufoai-plugin
+
+18/01/2007
+LordHavoc
+- disabled SnapPlane because it slightly corrupts collision brushes from
+ embedded model triangles
+
17/01/2007
namespace
- Fixed "jumping" texcoords when switching to a shader with different size
OutputFile="$(OutDir)/ufoai.dll"\r
LinkIncremental="1"\r
SuppressStartupBanner="TRUE"\r
- AdditionalLibraryDirectories=""\r
+ AdditionalLibraryDirectories=""../../../gtk2-2.4/lib""\r
IgnoreDefaultLibraryNames="msvcprtd.lib"\r
ModuleDefinitionFile="$(ProjectName).def"\r
GenerateDebugInformation="TRUE"\r
OutputFile="$(OutDir)/ufoai.dll"\r
LinkIncremental="1"\r
SuppressStartupBanner="TRUE"\r
- AdditionalLibraryDirectories=""\r
+ AdditionalLibraryDirectories=""../../../gtk2-2.4/lib""\r
IgnoreDefaultLibraryNames="msvcprt.lib"\r
ModuleDefinitionFile="$(ProjectName).def"\r
GenerateDebugInformation="TRUE"\r
#endif
}
+void Scene_BrushGetShaderSize_Component_Selected(scene::Graph& graph, size_t& width, size_t& height)
+{
+ if(!g_SelectedFaceInstances.empty())
+ {
+ FaceInstance& faceInstance = g_SelectedFaceInstances.last();
+ width = faceInstance.getFace().getShader().width();
+ height = faceInstance.getFace().getShader().height();
+ }
+}
+
class FaceGetFlags
{
void Scene_BrushSetTexdef_Component_Selected(scene::Graph& graph, const TextureProjection& projection);
void Scene_BrushGetTexdef_Selected(scene::Graph& graph, TextureProjection& projection);
void Scene_BrushGetTexdef_Component_Selected(scene::Graph& graph, TextureProjection& projection);
+void Scene_BrushGetShaderSize_Component_Selected(scene::Graph& graph, size_t& width, size_t& height);
void Scene_BrushSetFlags_Selected(scene::Graph& graph, const ContentsFlagsValue& flags);
void Scene_BrushSetFlags_Component_Selected(scene::Graph& graph, const ContentsFlagsValue& flags);
void Scene_BrushGetFlags_Selected(scene::Graph& graph, ContentsFlagsValue& flags);
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()))
//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]);