diff options
author | Justin Clarke Casey | 2008-10-14 20:28:34 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-10-14 20:28:34 +0000 |
commit | b70a28537350908e8cbf5fe254315fa760a2ee4e (patch) | |
tree | 56cf427a81232a406a86dcf8086bae3485b9075a /OpenSim/Region/ClientStack | |
parent | move from index based to exists strategy here (diff) | |
download | opensim-SC_OLD-b70a28537350908e8cbf5fe254315fa760a2ee4e.zip opensim-SC_OLD-b70a28537350908e8cbf5fe254315fa760a2ee4e.tar.gz opensim-SC_OLD-b70a28537350908e8cbf5fe254315fa760a2ee4e.tar.bz2 opensim-SC_OLD-b70a28537350908e8cbf5fe254315fa760a2ee4e.tar.xz |
* Send an avatar update to other clients when an avatar rotates, as well as when it moves
* This should fix a long standing issue where you often wouldn't see other people simply turn around without moving at all
* Arguably lastPhysRot (to mirror lastPhysPos) is not a good name, may change variable names later
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 476b3d5..6a011b4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2339,7 +2339,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2339 | } | 2339 | } |
2340 | 2340 | ||
2341 | /// <summary> | 2341 | /// <summary> |
2342 | /// | 2342 | /// Send a terse positional/rotation/velocity update about an avatar to the client. This avatar can be that of |
2343 | /// the client itself. | ||
2343 | /// </summary> | 2344 | /// </summary> |
2344 | /// <param name="regionHandle"></param> | 2345 | /// <param name="regionHandle"></param> |
2345 | /// <param name="timeDilation"></param> | 2346 | /// <param name="timeDilation"></param> |
@@ -2352,6 +2353,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2352 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) | 2353 | if (rotation.X == rotation.Y && rotation.Y == rotation.Z && rotation.Z == rotation.W && rotation.W == 0) |
2353 | rotation = Quaternion.Identity; | 2354 | rotation = Quaternion.Identity; |
2354 | 2355 | ||
2356 | //m_log.DebugFormat("[CLIENT]: Sending rotation {0} for {1} to {2}", rotation, localID, Name); | ||
2357 | |||
2355 | ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = | 2358 | ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = |
2356 | CreateAvatarImprovedBlock(localID, position, velocity, rotation); | 2359 | CreateAvatarImprovedBlock(localID, position, velocity, rotation); |
2357 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); | 2360 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); |