- Weird shiftvalues are now hidden to the user, shiftvalues will
authornamespace <namespace>
Thu, 18 Jan 2007 17:05:37 +0000 (17:05 +0000)
committernamespace <namespace>
Thu, 18 Jan 2007 17:05:37 +0000 (17:05 +0000)
  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: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@138 8a3a26a2-13c4-0310-b231-cf6edde360e5

CHANGES
contrib/ufoaiplug/ufoai.vcproj
radiant/brushmanip.cpp
radiant/brushmanip.h
radiant/surfacedialog.cpp

diff --git a/CHANGES b/CHANGES
index 23f6ede..22d356a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,19 @@
 This is the changelog for developers, != changelog for the end user 
 that we distribute with the binaries. (see changelog)
 
 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
 17/01/2007
 namespace
 - Fixed "jumping" texcoords when switching to a shader with different size
index 33cf6d6..ab4f11c 100644 (file)
@@ -42,7 +42,7 @@
                                OutputFile="$(OutDir)/ufoai.dll"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="TRUE"\r
                                OutputFile="$(OutDir)/ufoai.dll"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="TRUE"\r
-                               AdditionalLibraryDirectories=""\r
+                               AdditionalLibraryDirectories="&quot;../../../gtk2-2.4/lib&quot;"\r
                                IgnoreDefaultLibraryNames="msvcprtd.lib"\r
                                ModuleDefinitionFile="$(ProjectName).def"\r
                                GenerateDebugInformation="TRUE"\r
                                IgnoreDefaultLibraryNames="msvcprtd.lib"\r
                                ModuleDefinitionFile="$(ProjectName).def"\r
                                GenerateDebugInformation="TRUE"\r
                                OutputFile="$(OutDir)/ufoai.dll"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="TRUE"\r
                                OutputFile="$(OutDir)/ufoai.dll"\r
                                LinkIncremental="1"\r
                                SuppressStartupBanner="TRUE"\r
-                               AdditionalLibraryDirectories=""\r
+                               AdditionalLibraryDirectories="&quot;../../../gtk2-2.4/lib&quot;"\r
                                IgnoreDefaultLibraryNames="msvcprt.lib"\r
                                ModuleDefinitionFile="$(ProjectName).def"\r
                                GenerateDebugInformation="TRUE"\r
                                IgnoreDefaultLibraryNames="msvcprt.lib"\r
                                ModuleDefinitionFile="$(ProjectName).def"\r
                                GenerateDebugInformation="TRUE"\r
index a19095e..b2acc1f 100644 (file)
@@ -729,6 +729,16 @@ void Scene_BrushGetTexdef_Component_Selected(scene::Graph& graph, TextureProject
 #endif
 }
 
 #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
 {
 
 class FaceGetFlags
 {
index 65d95a1..088a89f 100644 (file)
@@ -47,6 +47,7 @@ void Scene_BrushSetTexdef_Selected(scene::Graph& graph, const TextureProjection&
 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_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);
 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);
index 0343bbd..7b2eb43 100644 (file)
@@ -276,6 +276,7 @@ namespace
   CopiedString g_selectedShader;
   TextureProjection g_selectedTexdef;
   ContentsFlagsValue g_selectedFlags;
   CopiedString g_selectedShader;
   TextureProjection g_selectedTexdef;
   ContentsFlagsValue g_selectedFlags;
+  size_t g_selectedShaderSize[2];
 }
 
 void SurfaceInspector_SetSelectedShader(const char* shader)
 }
 
 void SurfaceInspector_SetSelectedShader(const char* shader)
@@ -328,8 +329,13 @@ void SurfaceInspector_SetCurrent_FromSelected()
 //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);
 //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);
 
       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()))
       CopiedString name;
       Scene_BrushGetShader_Component_Selected(GlobalSceneGraph(), name);
       if(string_not_empty(name.c_str()))
@@ -1194,6 +1200,10 @@ globalOutputStream() << "BP: (" << g_selectedBrushPrimitTexdef.coords[0][0] << "
 //Ok, it's screwed up *before* we get here...
   ShiftScaleRotate_fromFace(shiftScaleRotate, SurfaceInspector_GetSelectedTexdef());
 
 //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]);
   {
     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]);