diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index aff43d5..bf45006 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2257,6 +2257,79 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2257 | OutPacket(pack, ThrottleOutPacketType.Task); | 2257 | OutPacket(pack, ThrottleOutPacketType.Task); |
2258 | } | 2258 | } |
2259 | 2259 | ||
2260 | public void SendObjectPropertiesFamilyData(uint RequestFlags, LLUUID ObjectUUID, LLUUID OwnerID, LLUUID GroupID, | ||
2261 | uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask, | ||
2262 | uint NextOwnerMask, int OwnershipCost, byte SaleType,int SalePrice, uint Category, | ||
2263 | LLUUID LastOwnerID, string ObjectName, string Description) | ||
2264 | { | ||
2265 | ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket)PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily); | ||
2266 | // TODO: don't create new blocks if recycling an old packet | ||
2267 | |||
2268 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); | ||
2269 | objPropDB.RequestFlags = RequestFlags; | ||
2270 | objPropDB.ObjectID = ObjectUUID; | ||
2271 | objPropDB.OwnerID = OwnerID; | ||
2272 | objPropDB.GroupID = GroupID; | ||
2273 | objPropDB.BaseMask = BaseMask; | ||
2274 | objPropDB.OwnerMask = OwnerMask; | ||
2275 | objPropDB.GroupMask = GroupMask; | ||
2276 | objPropDB.EveryoneMask = EveryoneMask; | ||
2277 | objPropDB.NextOwnerMask = NextOwnerMask; | ||
2278 | |||
2279 | // TODO: More properties are needed in SceneObjectPart! | ||
2280 | objPropDB.OwnershipCost = OwnershipCost; | ||
2281 | objPropDB.SaleType = SaleType; | ||
2282 | objPropDB.SalePrice = SalePrice; | ||
2283 | objPropDB.Category = Category; | ||
2284 | objPropDB.LastOwnerID = LastOwnerID; | ||
2285 | objPropDB.Name = Helpers.StringToField(ObjectName); | ||
2286 | objPropDB.Description = Helpers.StringToField(Description); | ||
2287 | objPropFamilyPack.ObjectData = objPropDB; | ||
2288 | objPropFamilyPack.Header.Zerocoded = true; | ||
2289 | OutPacket(objPropFamilyPack, ThrottleOutPacketType.Task); | ||
2290 | } | ||
2291 | |||
2292 | public void SendObjectPropertiesReply(LLUUID ItemID, ulong CreationDate, LLUUID CreatorUUID, LLUUID FolderUUID, LLUUID FromTaskUUID, | ||
2293 | LLUUID GroupUUID, short InventorySerial, LLUUID LastOwnerUUID, LLUUID ObjectUUID, | ||
2294 | LLUUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle, string ItemName, | ||
2295 | string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask, uint EveryoneMask, | ||
2296 | uint BaseMask) | ||
2297 | { | ||
2298 | ObjectPropertiesPacket proper = (ObjectPropertiesPacket)PacketPool.Instance.GetPacket(PacketType.ObjectProperties); | ||
2299 | // TODO: don't create new blocks if recycling an old packet | ||
2300 | |||
2301 | proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; | ||
2302 | proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); | ||
2303 | proper.ObjectData[0].ItemID = ItemID; | ||
2304 | proper.ObjectData[0].CreationDate = CreationDate; | ||
2305 | proper.ObjectData[0].CreatorID = CreatorUUID; | ||
2306 | proper.ObjectData[0].FolderID = FolderUUID; | ||
2307 | proper.ObjectData[0].FromTaskID = FromTaskUUID; | ||
2308 | proper.ObjectData[0].GroupID = GroupUUID; | ||
2309 | proper.ObjectData[0].InventorySerial = InventorySerial; | ||
2310 | |||
2311 | proper.ObjectData[0].LastOwnerID = LastOwnerUUID; | ||
2312 | // proper.ObjectData[0].LastOwnerID = LLUUID.Zero; | ||
2313 | |||
2314 | proper.ObjectData[0].ObjectID = ObjectUUID; | ||
2315 | proper.ObjectData[0].OwnerID = OwnerUUID; | ||
2316 | proper.ObjectData[0].TouchName = Helpers.StringToField(TouchTitle); | ||
2317 | proper.ObjectData[0].TextureID = TextureID; | ||
2318 | proper.ObjectData[0].SitName = Helpers.StringToField(SitTitle); | ||
2319 | proper.ObjectData[0].Name = Helpers.StringToField(ItemName); | ||
2320 | proper.ObjectData[0].Description = Helpers.StringToField(ItemDescription); | ||
2321 | proper.ObjectData[0].OwnerMask = OwnerMask; | ||
2322 | proper.ObjectData[0].NextOwnerMask = NextOwnerMask; | ||
2323 | proper.ObjectData[0].GroupMask = GroupMask; | ||
2324 | proper.ObjectData[0].EveryoneMask = EveryoneMask; | ||
2325 | proper.ObjectData[0].BaseMask = BaseMask; | ||
2326 | // proper.ObjectData[0].AggregatePerms = 53; | ||
2327 | // proper.ObjectData[0].AggregatePermTextures = 0; | ||
2328 | // proper.ObjectData[0].AggregatePermTexturesOwner = 0; | ||
2329 | proper.Header.Zerocoded = true; | ||
2330 | OutPacket(proper, ThrottleOutPacketType.Task); | ||
2331 | } | ||
2332 | |||
2260 | #endregion | 2333 | #endregion |
2261 | 2334 | ||
2262 | #region Estate Data Sending Methods | 2335 | #region Estate Data Sending Methods |