diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs index e543337c71..47a290e86f 100644 --- a/OpenSim/Services/InventoryService/InventoryService.cs +++ b/OpenSim/Services/InventoryService/InventoryService.cs @@ -506,9 +506,10 @@ namespace OpenSim.Services.InventoryService private void AddNewInventorySet(UsersInventory inventory) { foreach (InventoryFolderBase folder in inventory.Folders.Values) - { AddFolder(folder); - } + + foreach (InventoryItemBase item in inventory.Items.Values) + AddItem(item); } public InventoryItemBase GetInventoryItem(UUID itemID) @@ -592,14 +593,14 @@ namespace OpenSim.Services.InventoryService folder.Version = 1; Folders.Add(folder.ID, folder); - folder = new InventoryFolderBase(); - folder.ParentID = rootFolder; - folder.Owner = user; - folder.ID = UUID.Random(); - folder.Name = "Clothing"; - folder.Type = (short)AssetType.Clothing; - folder.Version = 1; - Folders.Add(folder.ID, folder); + InventoryFolderBase clothingFolder = new InventoryFolderBase(); + clothingFolder.ParentID = rootFolder; + clothingFolder.Owner = user; + clothingFolder.ID = UUID.Random(); + clothingFolder.Name = "Clothing"; + clothingFolder.Type = (short)AssetType.Clothing; + clothingFolder.Version = 1; + Folders.Add(clothingFolder.ID, clothingFolder); folder = new InventoryFolderBase(); folder.ParentID = rootFolder; @@ -690,6 +691,18 @@ namespace OpenSim.Services.InventoryService folder.Type = (short)AssetType.TrashFolder; folder.Version = 1; Folders.Add(folder.ID, folder); + + // Not worth creating default items for this old inventory service since it's only currently used by + // tests (and then to test other things, rather than the service itself). +// // Default items +// InventoryItemBase defaultShape = new InventoryItemBase(); +// defaultShape.Name = "Default shape"; +// defaultShape.AssetType = (int)AssetType.Bodypart; +// defaultShape.InvType = (int)InventoryType.Wearable; +// defaultShape.ID = AvatarWearable.DEFAULT_BODY_ITEM; +// defaultShape.AssetID = AvatarWearable.DEFAULT_BODY_ASSET; +// defaultShape.Folder = clothingFolder.ID; +// Items.Add(defaultShape.ID, defaultShape); } } } diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs index e602412be1..294d296a74 100644 --- a/OpenSim/Services/InventoryService/XInventoryService.cs +++ b/OpenSim/Services/InventoryService/XInventoryService.cs @@ -135,6 +135,45 @@ namespace OpenSim.Services.InventoryService CreateFolder(principalID, rootFolder.ID, (int)AssetType.Texture, "Textures"); if (!Array.Exists(sysFolders, delegate (XInventoryFolder f) { if (f.type == (int)AssetType.TrashFolder) return true; return false; })) CreateFolder(principalID, rootFolder.ID, (int)AssetType.TrashFolder, "Trash"); + + InventoryFolderBase bodypartFolder = GetFolderForType(principalID, AssetType.Bodypart); + + // Default items + InventoryItemBase defaultShape = new InventoryItemBase(); + defaultShape.Name = "Default shape"; + defaultShape.Description = "Default shape description"; + defaultShape.AssetType = (int)AssetType.Bodypart; + defaultShape.InvType = (int)InventoryType.Wearable; + defaultShape.Flags = (uint)WearableType.Shape; + defaultShape.ID = AvatarWearable.DEFAULT_BODY_ITEM; + defaultShape.AssetID = AvatarWearable.DEFAULT_BODY_ASSET; + defaultShape.Folder = bodypartFolder.ID; + defaultShape.CreatorId = UUID.Zero.ToString(); + AddItem(defaultShape); + + InventoryItemBase defaultSkin = new InventoryItemBase(); + defaultSkin.Name = "Default skin"; + defaultSkin.Description = "Default skin description"; + defaultSkin.AssetType = (int)AssetType.Bodypart; + defaultSkin.InvType = (int)InventoryType.Wearable; + defaultSkin.Flags = (uint)WearableType.Skin; + defaultSkin.ID = AvatarWearable.DEFAULT_SKIN_ITEM; + defaultSkin.AssetID = AvatarWearable.DEFAULT_SKIN_ASSET; + defaultSkin.Folder = bodypartFolder.ID; + defaultSkin.CreatorId = UUID.Zero.ToString(); + AddItem(defaultSkin); + + InventoryItemBase defaultHair = new InventoryItemBase(); + defaultHair.Name = "Default hair"; + defaultHair.Description = "Default hair description"; + defaultHair.AssetType = (int)AssetType.Bodypart; + defaultHair.InvType = (int)InventoryType.Wearable; + defaultHair.Flags = (uint)WearableType.Hair; + defaultHair.ID = AvatarWearable.DEFAULT_HAIR_ITEM; + defaultHair.AssetID = AvatarWearable.DEFAULT_HAIR_ASSET; + defaultHair.Folder = bodypartFolder.ID; + defaultHair.CreatorId = UUID.Zero.ToString(); + AddItem(defaultHair); return result; }