aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2017-09-16 00:19:58 +0100
committerUbitUmarov2017-09-16 00:19:58 +0100
commit05da6b9f1417b8ccef318b8d5e13be695e38f08d (patch)
tree779270f37094804357c7abf996a5b2300facd8a6
parentBulletSim: Merge branch 'BulletSim2017' (diff)
downloadopensim-SC_OLD-05da6b9f1417b8ccef318b8d5e13be695e38f08d.zip
opensim-SC_OLD-05da6b9f1417b8ccef318b8d5e13be695e38f08d.tar.gz
opensim-SC_OLD-05da6b9f1417b8ccef318b8d5e13be695e38f08d.tar.bz2
opensim-SC_OLD-05da6b9f1417b8ccef318b8d5e13be695e38f08d.tar.xz
bug fix. Increase the values of profileHollow and profileBegin used to match pbs number of faces and the Mesh number of faces. The small values i used before seem to be randomly lost.
-rw-r--r--OpenSim/Framework/PrimitiveBaseShape.cs8
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs18
2 files changed, 19 insertions, 7 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs
index 96d78d3..98d1bdd 100644
--- a/OpenSim/Framework/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/PrimitiveBaseShape.cs
@@ -348,7 +348,7 @@ namespace OpenSim.Framework
348 case 2: // torus with hollow (a sl viewer whould see 4 faces on a hollow sphere) 348 case 2: // torus with hollow (a sl viewer whould see 4 faces on a hollow sphere)
349 shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle; 349 shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle;
350 shape.PathCurve = (byte)Extrusion.Curve1; 350 shape.PathCurve = (byte)Extrusion.Curve1;
351 shape.ProfileHollow = 1; 351 shape.ProfileHollow = 27500;
352 break; 352 break;
353 353
354 case 3: // cylinder 354 case 3: // cylinder
@@ -359,7 +359,7 @@ namespace OpenSim.Framework
359 case 4: // cylinder with hollow 359 case 4: // cylinder with hollow
360 shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle; 360 shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle;
361 shape.PathCurve = (byte)Extrusion.Straight; 361 shape.PathCurve = (byte)Extrusion.Straight;
362 shape.ProfileHollow = 1; 362 shape.ProfileHollow = 27500;
363 break; 363 break;
364 364
365 case 5: // prism 365 case 5: // prism
@@ -375,13 +375,13 @@ namespace OpenSim.Framework
375 case 7: // box with hollow 375 case 7: // box with hollow
376 shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle; 376 shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
377 shape.PathCurve = (byte)Extrusion.Straight; 377 shape.PathCurve = (byte)Extrusion.Straight;
378 shape.ProfileHollow = 1; 378 shape.ProfileHollow = 27500;
379 break; 379 break;
380 380
381 default: // 8 faces box with cut 381 default: // 8 faces box with cut
382 shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle; 382 shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
383 shape.PathCurve = (byte)Extrusion.Straight; 383 shape.PathCurve = (byte)Extrusion.Straight;
384 shape.ProfileBegin = 1; 384 shape.ProfileBegin = 12500;
385 break; 385 break;
386 } 386 }
387 387
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index c44c741..f068cef 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -5856,7 +5856,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5856 update.State = part.Shape.State; // not sure about this 5856 update.State = part.Shape.State; // not sure about this
5857 } 5857 }
5858 5858
5859
5860 update.ObjectData = objectData; 5859 update.ObjectData = objectData;
5861 update.ParentID = part.ParentID; 5860 update.ParentID = part.ParentID;
5862 update.PathBegin = part.Shape.PathBegin; 5861 update.PathBegin = part.Shape.PathBegin;
@@ -5877,13 +5876,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5877 update.ProfileBegin = part.Shape.ProfileBegin; 5876 update.ProfileBegin = part.Shape.ProfileBegin;
5878 update.ProfileCurve = part.Shape.ProfileCurve; 5877 update.ProfileCurve = part.Shape.ProfileCurve;
5879 5878
5880 if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack 5879 ushort profileBegin = part.Shape.ProfileBegin;
5880 ushort profileHollow = part.Shape.ProfileHollow;
5881
5882 if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack
5883 {
5881 update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f); 5884 update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f);
5885 // fix old values that confused viewers
5886 if(profileBegin == 1)
5887 profileBegin = 12500;
5888 if(profileHollow == 1)
5889 profileHollow = 27500;
5890 }
5882 else 5891 else
5892 {
5883 update.ProfileCurve = part.Shape.ProfileCurve; 5893 update.ProfileCurve = part.Shape.ProfileCurve;
5894 }
5884 5895
5896 update.ProfileHollow = profileHollow;
5897 update.ProfileBegin = profileBegin;
5885 update.ProfileEnd = part.Shape.ProfileEnd; 5898 update.ProfileEnd = part.Shape.ProfileEnd;
5886 update.ProfileHollow = part.Shape.ProfileHollow;
5887 update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes; 5899 update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes;
5888 update.TextColor = part.GetTextColor().GetBytes(false); 5900 update.TextColor = part.GetTextColor().GetBytes(false);
5889 update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes; 5901 update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes;