diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 370bdbb..c68c3c7 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -1588,13 +1588,24 @@ namespace OpenSim.Region.ClientStack | |||
1588 | OutPacket(attach, ThrottleOutPacketType.Task); | 1588 | OutPacket(attach, ThrottleOutPacketType.Task); |
1589 | } | 1589 | } |
1590 | 1590 | ||
1591 | |||
1592 | public void SendPrimitiveToClient( | 1591 | public void SendPrimitiveToClient( |
1593 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, | 1592 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, |
1594 | uint flags, | 1593 | uint flags, |
1595 | LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, | 1594 | LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, |
1596 | LLQuaternion rotation, byte clickAction) | 1595 | LLQuaternion rotation, byte clickAction) |
1597 | { | 1596 | { |
1597 | byte[] textureanim = new byte[0]; | ||
1598 | |||
1599 | SendPrimitiveToClient(regionHandle, timeDilation, localID, primShape, pos, flags, | ||
1600 | objectID, ownerID, text, color, parentID, particleSystem, | ||
1601 | rotation, clickAction, textureanim); | ||
1602 | } | ||
1603 | public void SendPrimitiveToClient( | ||
1604 | ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, | ||
1605 | uint flags, | ||
1606 | LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, | ||
1607 | LLQuaternion rotation, byte clickAction, byte[] textureanim) | ||
1608 | { | ||
1598 | ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); | 1609 | ObjectUpdatePacket outPacket = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); |
1599 | // TODO: don't create new blocks if recycling an old packet | 1610 | // TODO: don't create new blocks if recycling an old packet |
1600 | outPacket.RegionData.RegionHandle = regionHandle; | 1611 | outPacket.RegionData.RegionHandle = regionHandle; |
@@ -1615,6 +1626,8 @@ namespace OpenSim.Region.ClientStack | |||
1615 | outPacket.ObjectData[0].PSBlock = particleSystem; | 1626 | outPacket.ObjectData[0].PSBlock = particleSystem; |
1616 | outPacket.ObjectData[0].ClickAction = clickAction; | 1627 | outPacket.ObjectData[0].ClickAction = clickAction; |
1617 | //outPacket.ObjectData[0].Flags = 0; | 1628 | //outPacket.ObjectData[0].Flags = 0; |
1629 | |||
1630 | // Sound Radius | ||
1618 | outPacket.ObjectData[0].Radius = 20; | 1631 | outPacket.ObjectData[0].Radius = 20; |
1619 | 1632 | ||
1620 | byte[] pb = pos.GetBytes(); | 1633 | byte[] pb = pos.GetBytes(); |
@@ -1623,6 +1636,10 @@ namespace OpenSim.Region.ClientStack | |||
1623 | byte[] rot = rotation.GetBytes(); | 1636 | byte[] rot = rotation.GetBytes(); |
1624 | Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); | 1637 | Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); |
1625 | 1638 | ||
1639 | if (textureanim.Length > 0) | ||
1640 | outPacket.ObjectData[0].TextureAnim = textureanim; | ||
1641 | |||
1642 | |||
1626 | OutPacket(outPacket, ThrottleOutPacketType.Task); | 1643 | OutPacket(outPacket, ThrottleOutPacketType.Task); |
1627 | } | 1644 | } |
1628 | 1645 | ||