diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index dc8d267..cf96a8b 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -4212,12 +4212,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4212 | SceneObjectGroup grp = part.ParentGroup; | 4212 | SceneObjectGroup grp = part.ParentGroup; |
4213 | if (grp.inTransit && !update.Flags.HasFlag(PrimUpdateFlags.SendInTransit)) | 4213 | if (grp.inTransit && !update.Flags.HasFlag(PrimUpdateFlags.SendInTransit)) |
4214 | continue; | 4214 | continue; |
4215 | /* debug | ||
4215 | if (update.Flags.HasFlag(PrimUpdateFlags.SendInTransit)) | 4216 | if (update.Flags.HasFlag(PrimUpdateFlags.SendInTransit)) |
4216 | { | 4217 | { |
4217 | 4218 | ||
4218 | 4219 | ||
4219 | } | 4220 | } |
4220 | 4221 | */ | |
4221 | if (grp.IsDeleted) | 4222 | if (grp.IsDeleted) |
4222 | { | 4223 | { |
4223 | // Don't send updates for objects that have been marked deleted. | 4224 | // Don't send updates for objects that have been marked deleted. |
@@ -4274,14 +4275,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4274 | { | 4275 | { |
4275 | part.Shape.LightEntry = false; | 4276 | part.Shape.LightEntry = false; |
4276 | } | 4277 | } |
4277 | |||
4278 | if (part.Shape != null && (part.Shape.SculptType == (byte)SculptType.Mesh)) | ||
4279 | { | ||
4280 | // Ensure that mesh has at least 8 valid faces | ||
4281 | part.Shape.ProfileBegin = 12500; | ||
4282 | part.Shape.ProfileEnd = 0; | ||
4283 | part.Shape.ProfileHollow = 27500; | ||
4284 | } | ||
4285 | } | 4278 | } |
4286 | 4279 | ||
4287 | if(doCulling && !grp.IsAttachment) | 4280 | if(doCulling && !grp.IsAttachment) |
@@ -4309,14 +4302,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4309 | continue; | 4302 | continue; |
4310 | } | 4303 | } |
4311 | } | 4304 | } |
4312 | |||
4313 | if (part.Shape != null && (part.Shape.SculptType == (byte)SculptType.Mesh)) | ||
4314 | { | ||
4315 | // Ensure that mesh has at least 8 valid faces | ||
4316 | part.Shape.ProfileBegin = 12500; | ||
4317 | part.Shape.ProfileEnd = 0; | ||
4318 | part.Shape.ProfileHollow = 27500; | ||
4319 | } | ||
4320 | } | 4305 | } |
4321 | else if (update.Entity is ScenePresence) | 4306 | else if (update.Entity is ScenePresence) |
4322 | { | 4307 | { |
@@ -5877,6 +5862,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5877 | update.PCode = part.Shape.PCode; | 5862 | update.PCode = part.Shape.PCode; |
5878 | update.ProfileBegin = part.Shape.ProfileBegin; | 5863 | update.ProfileBegin = part.Shape.ProfileBegin; |
5879 | update.ProfileCurve = part.Shape.ProfileCurve; | 5864 | update.ProfileCurve = part.Shape.ProfileCurve; |
5865 | |||
5866 | if(part.Shape.SculptType == (byte)SculptType.Mesh) // filter out hack | ||
5867 | update.ProfileCurve = (byte)(part.Shape.ProfileCurve & 0x0f); | ||
5868 | else | ||
5869 | update.ProfileCurve = part.Shape.ProfileCurve; | ||
5870 | |||
5880 | update.ProfileEnd = part.Shape.ProfileEnd; | 5871 | update.ProfileEnd = part.Shape.ProfileEnd; |
5881 | update.ProfileHollow = part.Shape.ProfileHollow; | 5872 | update.ProfileHollow = part.Shape.ProfileHollow; |
5882 | update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes; | 5873 | update.PSBlock = part.ParticleSystem ?? Utils.EmptyBytes; |