diff options
author | Teravus Ovares | 2008-05-22 19:09:51 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-22 19:09:51 +0000 |
commit | c124bb58ec5e200fe40eb60021c88b39368a1be3 (patch) | |
tree | 6202f26075b714d6f26f228a25a692fb9ed15a6b /OpenSim | |
parent | add a lock on the update, this should have been there before. (diff) | |
download | opensim-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.cs | 8 |
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 |