aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
authorUbitUmarov2017-04-25 04:58:24 +0100
committerUbitUmarov2017-04-25 04:58:24 +0100
commit2f6c78b88895c0934179fb8eb70ae1dc08883d5f (patch)
treefc10a6fbe608e10a62248ad39bae08d15e322f17 /OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
parent some fixes on the materials paramenters of llGetPrimitiveParams() (diff)
downloadopensim-SC-2f6c78b88895c0934179fb8eb70ae1dc08883d5f.zip
opensim-SC-2f6c78b88895c0934179fb8eb70ae1dc08883d5f.tar.gz
opensim-SC-2f6c78b88895c0934179fb8eb70ae1dc08883d5f.tar.bz2
opensim-SC-2f6c78b88895c0934179fb8eb70ae1dc08883d5f.tar.xz
finish encoding number of mesh faces in pbs shape on new meshs upload, and *HACK* flag it setting hollow shape to triangle. (some limited encoding as added some months ago, but only for viewers LOD). Use this hack flag to fix sop number of faces. old meshs will still report 8 faces, information to fix this seems lost unless the mesh asset is decoded
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs25
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;