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.

0.9.0.1-postfixes
UbitUmarov 2017-09-16 00:19:58 +01:00
parent 921e3ceb09
commit 05da6b9f14
2 changed files with 22 additions and 10 deletions

View File

@ -348,7 +348,7 @@ namespace OpenSim.Framework
case 2: // torus with hollow (a sl viewer whould see 4 faces on a hollow sphere) case 2: // torus with hollow (a sl viewer whould see 4 faces on a hollow sphere)
shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle; shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle;
shape.PathCurve = (byte)Extrusion.Curve1; shape.PathCurve = (byte)Extrusion.Curve1;
shape.ProfileHollow = 1; shape.ProfileHollow = 27500;
break; break;
case 3: // cylinder case 3: // cylinder
@ -359,7 +359,7 @@ namespace OpenSim.Framework
case 4: // cylinder with hollow case 4: // cylinder with hollow
shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle; shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle;
shape.PathCurve = (byte)Extrusion.Straight; shape.PathCurve = (byte)Extrusion.Straight;
shape.ProfileHollow = 1; shape.ProfileHollow = 27500;
break; break;
case 5: // prism case 5: // prism
@ -375,13 +375,13 @@ namespace OpenSim.Framework
case 7: // box with hollow case 7: // box with hollow
shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle; shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
shape.PathCurve = (byte)Extrusion.Straight; shape.PathCurve = (byte)Extrusion.Straight;
shape.ProfileHollow = 1; shape.ProfileHollow = 27500;
break; break;
default: // 8 faces box with cut default: // 8 faces box with cut
shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle; shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
shape.PathCurve = (byte)Extrusion.Straight; shape.PathCurve = (byte)Extrusion.Straight;
shape.ProfileBegin = 1; shape.ProfileBegin = 12500;
break; break;
} }

View File

@ -5856,7 +5856,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
update.State = part.Shape.State; // not sure about this update.State = part.Shape.State; // not sure about this
} }
update.ObjectData = objectData; update.ObjectData = objectData;
update.ParentID = part.ParentID; update.ParentID = part.ParentID;
update.PathBegin = part.Shape.PathBegin; update.PathBegin = part.Shape.PathBegin;
@ -5877,13 +5876,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
update.ProfileBegin = part.Shape.ProfileBegin; update.ProfileBegin = part.Shape.ProfileBegin;
update.ProfileCurve = part.Shape.ProfileCurve; update.ProfileCurve = part.Shape.ProfileCurve;
if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack ushort profileBegin = part.Shape.ProfileBegin;
update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f); ushort profileHollow = part.Shape.ProfileHollow;
else
update.ProfileCurve = part.Shape.ProfileCurve;
if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack
{
update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f);
// fix old values that confused viewers
if(profileBegin == 1)
profileBegin = 12500;
if(profileHollow == 1)
profileHollow = 27500;
}
else
{
update.ProfileCurve = part.Shape.ProfileCurve;
}
update.ProfileHollow = profileHollow;
update.ProfileBegin = profileBegin;
update.ProfileEnd = part.Shape.ProfileEnd; update.ProfileEnd = part.Shape.ProfileEnd;
update.ProfileHollow = part.Shape.ProfileHollow;
update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes; update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes;
update.TextColor = part.GetTextColor().GetBytes(false); update.TextColor = part.GetTextColor().GetBytes(false);
update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes; update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes;