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.
parent
921e3ceb09
commit
05da6b9f14
|
@ -348,7 +348,7 @@ namespace OpenSim.Framework
|
|||
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.PathCurve = (byte)Extrusion.Curve1;
|
||||
shape.ProfileHollow = 1;
|
||||
shape.ProfileHollow = 27500;
|
||||
break;
|
||||
|
||||
case 3: // cylinder
|
||||
|
@ -359,7 +359,7 @@ namespace OpenSim.Framework
|
|||
case 4: // cylinder with hollow
|
||||
shape.ProfileCurve = (byte)ProfileShape.Circle | (byte)HollowShape.Triangle;
|
||||
shape.PathCurve = (byte)Extrusion.Straight;
|
||||
shape.ProfileHollow = 1;
|
||||
shape.ProfileHollow = 27500;
|
||||
break;
|
||||
|
||||
case 5: // prism
|
||||
|
@ -375,13 +375,13 @@ namespace OpenSim.Framework
|
|||
case 7: // box with hollow
|
||||
shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
|
||||
shape.PathCurve = (byte)Extrusion.Straight;
|
||||
shape.ProfileHollow = 1;
|
||||
shape.ProfileHollow = 27500;
|
||||
break;
|
||||
|
||||
default: // 8 faces box with cut
|
||||
shape.ProfileCurve = (byte)ProfileShape.Square | (byte)HollowShape.Triangle;
|
||||
shape.PathCurve = (byte)Extrusion.Straight;
|
||||
shape.ProfileBegin = 1;
|
||||
shape.ProfileBegin = 12500;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -5856,7 +5856,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
update.State = part.Shape.State; // not sure about this
|
||||
}
|
||||
|
||||
|
||||
update.ObjectData = objectData;
|
||||
update.ParentID = part.ParentID;
|
||||
update.PathBegin = part.Shape.PathBegin;
|
||||
|
@ -5877,13 +5876,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
update.ProfileBegin = part.Shape.ProfileBegin;
|
||||
update.ProfileCurve = part.Shape.ProfileCurve;
|
||||
|
||||
if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack
|
||||
update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f);
|
||||
else
|
||||
update.ProfileCurve = part.Shape.ProfileCurve;
|
||||
ushort profileBegin = part.Shape.ProfileBegin;
|
||||
ushort profileHollow = part.Shape.ProfileHollow;
|
||||
|
||||
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.ProfileHollow = part.Shape.ProfileHollow;
|
||||
update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes;
|
||||
update.TextColor = part.GetTextColor().GetBytes(false);
|
||||
update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes;
|
||||
|
|
Loading…
Reference in New Issue