aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorTeravus Ovares2008-05-22 19:09:51 +0000
committerTeravus Ovares2008-05-22 19:09:51 +0000
commitc124bb58ec5e200fe40eb60021c88b39368a1be3 (patch)
tree6202f26075b714d6f26f228a25a692fb9ed15a6b /OpenSim
parentadd a lock on the update, this should have been there before. (diff)
downloadopensim-SC-c124bb58ec5e200fe40eb60021c88b39368a1be3.zip
opensim-SC-c124bb58ec5e200fe40eb60021c88b39368a1be3.tar.gz
opensim-SC-c124bb58ec5e200fe40eb60021c88b39368a1be3.tar.bz2
opensim-SC-c124bb58ec5e200fe40eb60021c88b39368a1be3.tar.xz
* Limiting the Quaternion reset to x=y=z=w=0
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs8
1 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 435ed04..809822d 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2056,7 +2056,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2056 public void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, 2056 public void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
2057 LLVector3 velocity, LLQuaternion rotation) 2057 LLVector3 velocity, LLQuaternion rotation)
2058 { 2058 {
2059 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == rotation.X) 2059 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0)
2060 rotation = LLQuaternion.Identity; 2060 rotation = LLQuaternion.Identity;
2061 2061
2062 ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = 2062 ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock =
@@ -2147,7 +2147,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2147 LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, 2147 LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem,
2148 byte clickAction, byte[] textureanim, bool attachment, uint AttachPoint, LLUUID AssetId) 2148 byte clickAction, byte[] textureanim, bool attachment, uint AttachPoint, LLUUID AssetId)
2149 { 2149 {
2150 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == rotation.X) 2150 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0)
2151 rotation = LLQuaternion.Identity; 2151 rotation = LLQuaternion.Identity;
2152 2152
2153 ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); 2153 ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
@@ -2225,7 +2225,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2225 public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, 2225 public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
2226 LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity, byte state, LLUUID AssetId) 2226 LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity, byte state, LLUUID AssetId)
2227 { 2227 {
2228 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == rotation.X) 2228 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0)
2229 rotation = LLQuaternion.Identity; 2229 rotation = LLQuaternion.Identity;
2230 ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); 2230 ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate);
2231 // TODO: don't create new blocks if recycling an old packet 2231 // TODO: don't create new blocks if recycling an old packet
@@ -2241,7 +2241,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2241 public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, 2241 public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
2242 LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity) 2242 LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity)
2243 { 2243 {
2244 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == rotation.X) 2244 if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0)
2245 rotation = LLQuaternion.Identity; 2245 rotation = LLQuaternion.Identity;
2246 ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); 2246 ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate);
2247 // TODO: don't create new blocks if recycling an old packet 2247 // TODO: don't create new blocks if recycling an old packet