diff options
4 files changed, 56 insertions, 13 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs index d9808e6..efb40dd 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -151,6 +151,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
151 | return false; | 151 | return false; |
152 | } | 152 | } |
153 | 153 | ||
154 | /// <summary> | ||
155 | /// Return serialized inventory metadata for the given constituent prim | ||
156 | /// </summary> | ||
157 | /// <param name="localID"></param> | ||
158 | /// <param name="xferManager"></param> | ||
154 | public void RequestInventoryFile(uint localID, IXfer xferManager) | 159 | public void RequestInventoryFile(uint localID, IXfer xferManager) |
155 | { | 160 | { |
156 | SceneObjectPart part = GetChildPart(localID); | 161 | SceneObjectPart part = GetChildPart(localID); |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index bd75e6f..7251e9c 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1880,7 +1880,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
1880 | proper.ObjectData[0].FromTaskID = LLUUID.Zero; | 1880 | proper.ObjectData[0].FromTaskID = LLUUID.Zero; |
1881 | proper.ObjectData[0].GroupID = LLUUID.Zero; | 1881 | proper.ObjectData[0].GroupID = LLUUID.Zero; |
1882 | proper.ObjectData[0].InventorySerial = (short) m_rootPart.InventorySerial; | 1882 | proper.ObjectData[0].InventorySerial = (short) m_rootPart.InventorySerial; |
1883 | |||
1883 | proper.ObjectData[0].LastOwnerID = m_rootPart.LastOwnerID; | 1884 | proper.ObjectData[0].LastOwnerID = m_rootPart.LastOwnerID; |
1885 | // proper.ObjectData[0].LastOwnerID = LLUUID.Zero; | ||
1886 | |||
1884 | proper.ObjectData[0].ObjectID = UUID; | 1887 | proper.ObjectData[0].ObjectID = UUID; |
1885 | proper.ObjectData[0].OwnerID = m_rootPart.OwnerID; | 1888 | proper.ObjectData[0].OwnerID = m_rootPart.OwnerID; |
1886 | proper.ObjectData[0].TouchName = Helpers.StringToField(m_rootPart.TouchName); | 1889 | proper.ObjectData[0].TouchName = Helpers.StringToField(m_rootPart.TouchName); |
@@ -1893,6 +1896,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1893 | proper.ObjectData[0].GroupMask = m_rootPart.GroupMask; | 1896 | proper.ObjectData[0].GroupMask = m_rootPart.GroupMask; |
1894 | proper.ObjectData[0].EveryoneMask = m_rootPart.EveryoneMask; | 1897 | proper.ObjectData[0].EveryoneMask = m_rootPart.EveryoneMask; |
1895 | proper.ObjectData[0].BaseMask = m_rootPart.BaseMask; | 1898 | proper.ObjectData[0].BaseMask = m_rootPart.BaseMask; |
1899 | // proper.ObjectData[0].AggregatePerms = 53; | ||
1900 | // proper.ObjectData[0].AggregatePermTextures = 0; | ||
1901 | // proper.ObjectData[0].AggregatePermTexturesOwner = 0; | ||
1896 | 1902 | ||
1897 | client.OutPacket(proper, ThrottleOutPacketType.Task); | 1903 | client.OutPacket(proper, ThrottleOutPacketType.Task); |
1898 | } | 1904 | } |
@@ -2448,4 +2454,4 @@ namespace OpenSim.Region.Environment.Scenes | |||
2448 | } | 2454 | } |
2449 | } | 2455 | } |
2450 | } | 2456 | } |
2451 | } \ No newline at end of file | 2457 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs index dd361bf..63cfcbd 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | |||
@@ -308,6 +308,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
308 | } | 308 | } |
309 | 309 | ||
310 | m_inventorySerial++; | 310 | m_inventorySerial++; |
311 | //m_inventorySerial += 2; | ||
311 | HasInventoryChanged = true; | 312 | HasInventoryChanged = true; |
312 | } | 313 | } |
313 | 314 | ||
@@ -479,9 +480,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
479 | /// </summary> | 480 | /// </summary> |
480 | /// <param name="xferManager"></param> | 481 | /// <param name="xferManager"></param> |
481 | public void RequestInventoryFile(IXfer xferManager) | 482 | public void RequestInventoryFile(IXfer xferManager) |
482 | { | 483 | { |
483 | byte[] fileData = new byte[0]; | 484 | byte[] fileData = new byte[0]; |
484 | InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); | 485 | InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); |
486 | //InventoryStringBuilder invString = new InventoryStringBuilder(UUID, LLUUID.Zero); | ||
485 | 487 | ||
486 | lock (m_taskInventory) | 488 | lock (m_taskInventory) |
487 | { | 489 | { |
@@ -489,27 +491,46 @@ namespace OpenSim.Region.Environment.Scenes | |||
489 | { | 491 | { |
490 | invString.AddItemStart(); | 492 | invString.AddItemStart(); |
491 | invString.AddNameValueLine("item_id", item.ItemID.ToString()); | 493 | invString.AddNameValueLine("item_id", item.ItemID.ToString()); |
494 | |||
492 | invString.AddNameValueLine("parent_id", item.ParentID.ToString()); | 495 | invString.AddNameValueLine("parent_id", item.ParentID.ToString()); |
496 | // invString.AddNameValueLine("parent_id", UUID.ToString()); | ||
493 | 497 | ||
494 | invString.AddPermissionsStart(); | 498 | invString.AddPermissionsStart(); |
495 | invString.AddNameValueLine("base_mask", "0x7FFFFFFF"); | 499 | invString.AddNameValueLine("base_mask", "7fffffff"); |
496 | invString.AddNameValueLine("owner_mask", "0x7FFFFFFF"); | 500 | invString.AddNameValueLine("owner_mask", "7fffffff"); |
497 | invString.AddNameValueLine("group_mask", "0x7FFFFFFF"); | 501 | |
498 | invString.AddNameValueLine("everyone_mask", "0x7FFFFFFF"); | 502 | invString.AddNameValueLine("group_mask", "7fffffff"); |
499 | invString.AddNameValueLine("next_owner_mask", "0x7FFFFFFF"); | 503 | invString.AddNameValueLine("everyone_mask", "7fffffff"); |
504 | invString.AddNameValueLine("next_owner_mask", "7fffffff"); | ||
505 | // invString.AddNameValueLine("group_mask", "00000000"); | ||
506 | // invString.AddNameValueLine("everyone_mask", "00000000"); | ||
507 | // invString.AddNameValueLine("next_owner_mask", "00086000"); | ||
508 | |||
500 | invString.AddNameValueLine("creator_id", item.CreatorID.ToString()); | 509 | invString.AddNameValueLine("creator_id", item.CreatorID.ToString()); |
501 | invString.AddNameValueLine("owner_id", item.OwnerID.ToString()); | 510 | invString.AddNameValueLine("owner_id", item.OwnerID.ToString()); |
511 | |||
502 | invString.AddNameValueLine("last_owner_id", item.LastOwnerID.ToString()); | 512 | invString.AddNameValueLine("last_owner_id", item.LastOwnerID.ToString()); |
513 | // invString.AddNameValueLine("last_owner_id", item.OwnerID.ToString()); | ||
514 | |||
503 | invString.AddNameValueLine("group_id", item.GroupID.ToString()); | 515 | invString.AddNameValueLine("group_id", item.GroupID.ToString()); |
504 | invString.AddSectionEnd(); | 516 | invString.AddSectionEnd(); |
505 | 517 | ||
506 | invString.AddNameValueLine("asset_id", item.AssetID.ToString()); | 518 | invString.AddNameValueLine("asset_id", item.AssetID.ToString()); |
507 | invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]); | 519 | invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]); |
508 | invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]); | 520 | invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]); |
509 | invString.AddNameValueLine("flags", "0x00"); | 521 | invString.AddNameValueLine("flags", "00000000"); |
522 | |||
523 | invString.AddSaleStart(); | ||
524 | invString.AddNameValueLine("sale_type", "not"); | ||
525 | invString.AddNameValueLine("sale_price", "0"); | ||
526 | invString.AddSectionEnd(); | ||
527 | |||
510 | invString.AddNameValueLine("name", item.Name + "|"); | 528 | invString.AddNameValueLine("name", item.Name + "|"); |
511 | invString.AddNameValueLine("desc", item.Description + "|"); | 529 | invString.AddNameValueLine("desc", item.Description + "|"); |
530 | |||
512 | invString.AddNameValueLine("creation_date", item.CreationDate.ToString()); | 531 | invString.AddNameValueLine("creation_date", item.CreationDate.ToString()); |
532 | // invString.AddNameValueLine("creation_date", "1209151453"); | ||
533 | |||
513 | invString.AddSectionEnd(); | 534 | invString.AddSectionEnd(); |
514 | } | 535 | } |
515 | } | 536 | } |
@@ -552,19 +573,30 @@ namespace OpenSim.Region.Environment.Scenes | |||
552 | AddNameValueLine("obj_id", folderID.ToString()); | 573 | AddNameValueLine("obj_id", folderID.ToString()); |
553 | AddNameValueLine("parent_id", parentID.ToString()); | 574 | AddNameValueLine("parent_id", parentID.ToString()); |
554 | AddNameValueLine("type", "category"); | 575 | AddNameValueLine("type", "category"); |
555 | AddNameValueLine("name", "Contents"); | 576 | AddNameValueLine("name", "Contents|"); |
556 | AddSectionEnd(); | 577 | AddSectionEnd(); |
557 | } | 578 | } |
558 | 579 | ||
559 | public void AddItemStart() | 580 | public void AddItemStart() |
560 | { | 581 | { |
561 | BuildString += "\tinv_item\t0\n"; | 582 | BuildString += "\tinv_item\t0\n"; |
562 | BuildString += "\t{\n"; | 583 | AddSectionStart(); |
563 | } | 584 | } |
564 | 585 | ||
565 | public void AddPermissionsStart() | 586 | public void AddPermissionsStart() |
566 | { | 587 | { |
567 | BuildString += "\tpermissions 0\n"; | 588 | BuildString += "\tpermissions 0\n"; |
589 | AddSectionStart(); | ||
590 | } | ||
591 | |||
592 | public void AddSaleStart() | ||
593 | { | ||
594 | BuildString += "\tsale_info\t0\n"; | ||
595 | AddSectionStart(); | ||
596 | } | ||
597 | |||
598 | protected void AddSectionStart() | ||
599 | { | ||
568 | BuildString += "\t{\n"; | 600 | BuildString += "\t{\n"; |
569 | } | 601 | } |
570 | 602 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 039029f..2357c2f 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -683,7 +683,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
683 | public SceneObjectPart() | 683 | public SceneObjectPart() |
684 | { | 684 | { |
685 | // It's not necessary to persist this | 685 | // It's not necessary to persist this |
686 | m_inventoryFileName = "taskinventory" + LLUUID.Random().ToString(); | 686 | m_inventoryFileName = "inventory_" + LLUUID.Random().ToString() + ".tmp"; |
687 | m_TextureAnimation = new byte[0]; | 687 | m_TextureAnimation = new byte[0]; |
688 | } | 688 | } |
689 | 689 | ||
@@ -732,7 +732,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
732 | AngularVelocity = new LLVector3(0, 0, 0); | 732 | AngularVelocity = new LLVector3(0, 0, 0); |
733 | Acceleration = new LLVector3(0, 0, 0); | 733 | Acceleration = new LLVector3(0, 0, 0); |
734 | m_TextureAnimation = new byte[0]; | 734 | m_TextureAnimation = new byte[0]; |
735 | m_inventoryFileName = "taskinventory" + LLUUID.Random().ToString(); | 735 | m_inventoryFileName = "inventory_" + LLUUID.Random().ToString() + ".tmp"; |
736 | m_folderID = LLUUID.Random(); | 736 | m_folderID = LLUUID.Random(); |
737 | 737 | ||
738 | Flags = 0; | 738 | Flags = 0; |