diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 071a1bb..6a912e5 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2229,11 +2229,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2229 | } | 2229 | } |
2230 | 2230 | ||
2231 | // Xantor 20080528: Send sound info as well | 2231 | // Xantor 20080528: Send sound info as well |
2232 | outPacket.ObjectData[0].Sound = SoundId; | 2232 | // Xantor 20080530: Zero out everything if there's no SoundId, so zerocompression will work again |
2233 | outPacket.ObjectData[0].OwnerID = ownerID; | 2233 | outPacket.ObjectData[0].Sound = SoundId; |
2234 | outPacket.ObjectData[0].Gain = (float) SoundGain; | 2234 | if (SoundId == LLUUID.Zero) |
2235 | outPacket.ObjectData[0].Radius = (float) SoundRadius; | 2235 | { |
2236 | outPacket.ObjectData[0].Flags = SoundFlags; | 2236 | outPacket.ObjectData[0].OwnerID = LLUUID.Zero; |
2237 | outPacket.ObjectData[0].Gain = 0.0f; | ||
2238 | outPacket.ObjectData[0].Radius = 0.0f; | ||
2239 | outPacket.ObjectData[0].Flags = 0; | ||
2240 | } | ||
2241 | else | ||
2242 | { | ||
2243 | outPacket.ObjectData[0].OwnerID = ownerID; | ||
2244 | outPacket.ObjectData[0].Gain = (float)SoundGain; | ||
2245 | outPacket.ObjectData[0].Radius = (float)SoundRadius; | ||
2246 | outPacket.ObjectData[0].Flags = SoundFlags; | ||
2247 | } | ||
2237 | 2248 | ||
2238 | byte[] pb = pos.GetBytes(); | 2249 | byte[] pb = pos.GetBytes(); |
2239 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); | 2250 | Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); |