diff options
author | Justin Clark-Casey (justincc) | 2011-09-15 22:59:29 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-15 22:59:29 +0100 |
commit | c4efb97d49dec736151dfa3fa102efe6a5f6fbab (patch) | |
tree | a2d43cad036a4e6d8df4a19714e37e9328770299 | |
parent | refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to refle... (diff) | |
download | opensim-SC-c4efb97d49dec736151dfa3fa102efe6a5f6fbab.zip opensim-SC-c4efb97d49dec736151dfa3fa102efe6a5f6fbab.tar.gz opensim-SC-c4efb97d49dec736151dfa3fa102efe6a5f6fbab.tar.bz2 opensim-SC-c4efb97d49dec736151dfa3fa102efe6a5f6fbab.tar.xz |
Write code to create minimum necessary body parts/clothing and avatar entries to make a newly created user appear as a non-cloud on viewer 2
Viewer 2 no longer contains the default avatar assets (i.e. "Ruth") that would appear if the user had insufficient body part/clothing entries.
Instead, avatars always appear as a cloud, which is a very bad experience for out-of-the-box OpenSim.
Default is currently off. My intention is to switch it on for standalone shortly.
This is not particularly flexible as "Ruth" is hardcoded, but this can change in the future, in co-ordination with the existing RemoteAdmin capabilities.
Need to fix creation of suitable entries for users created as estate owners on standalone.
Avatars still appear with spooky empty eyes, need to see if we can address this.
This commit adds a "Default Iris" to the library (thanks to Eirynne Sieyes from http://opensimulator.org/mantis/view.php?id=1461) which can be used.
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 1 | ||||
-rw-r--r-- | OpenSim/Services/UserAccountService/UserAccountService.cs | 152 | ||||
-rw-r--r-- | bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml | 10 | ||||
-rw-r--r-- | bin/assets/BodyPartsAssetSet/base_eyes.dat | 26 | ||||
-rw-r--r-- | bin/assets/BodyPartsAssetSet/base_hair.dat | 26 | ||||
-rw-r--r-- | bin/assets/BodyPartsAssetSet/base_shape.dat | 212 | ||||
-rw-r--r-- | bin/assets/BodyPartsAssetSet/newhair.dat | 63 | ||||
-rw-r--r-- | bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 7 | ||||
-rw-r--r-- | bin/assets/TexturesAssetSet/default_iris.jp2 | bin | 0 -> 15719 bytes | |||
-rw-r--r-- | bin/config-include/Standalone.ini | 1 | ||||
-rw-r--r-- | bin/inventory/TexturesLibrary/TexturesLibraryItems.xml | 10 |
12 files changed, 362 insertions, 148 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index b6a1564..c5a1828 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -467,7 +467,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
467 | return; | 467 | return; |
468 | } | 468 | } |
469 | 469 | ||
470 | // m_log.WarnFormat("[AVFACTORY]: Received request for wearables of {0}", client.AgentId); | 470 | // m_log.DebugFormat("[AVFACTORY]: Received request for wearables of {0}", client.Name); |
471 | 471 | ||
472 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); | 472 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); |
473 | } | 473 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index c5c9260..f394a95 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1237,6 +1237,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1237 | first, last); | 1237 | first, last); |
1238 | 1238 | ||
1239 | 1239 | ||
1240 | |||
1240 | m_log.InfoFormat("[USER ACCOUNT SERVICE]: Account {0} {1} created successfully", first, last); | 1241 | m_log.InfoFormat("[USER ACCOUNT SERVICE]: Account {0} {1} created successfully", first, last); |
1241 | 1242 | ||
1242 | m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; | 1243 | m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; |
diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs index 8b8a8f9..21ce86c 100644 --- a/OpenSim/Services/UserAccountService/UserAccountService.cs +++ b/OpenSim/Services/UserAccountService/UserAccountService.cs | |||
@@ -28,15 +28,15 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | ||
31 | using Nini.Config; | 32 | using Nini.Config; |
33 | using OpenMetaverse; | ||
32 | using OpenSim.Data; | 34 | using OpenSim.Data; |
35 | using OpenSim.Framework; | ||
33 | using OpenSim.Services.Interfaces; | 36 | using OpenSim.Services.Interfaces; |
34 | using OpenSim.Framework.Console; | 37 | using OpenSim.Framework.Console; |
35 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; | 38 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; |
36 | 39 | ||
37 | using OpenMetaverse; | ||
38 | using log4net; | ||
39 | |||
40 | namespace OpenSim.Services.UserAccountService | 40 | namespace OpenSim.Services.UserAccountService |
41 | { | 41 | { |
42 | public class UserAccountService : UserAccountServiceBase, IUserAccountService | 42 | public class UserAccountService : UserAccountServiceBase, IUserAccountService |
@@ -44,10 +44,16 @@ namespace OpenSim.Services.UserAccountService | |||
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | private static UserAccountService m_RootInstance; | 45 | private static UserAccountService m_RootInstance; |
46 | 46 | ||
47 | /// <summary> | ||
48 | /// Should we create default entries (minimum body parts/clothing, avatar wearable entries) for a new avatar? | ||
49 | /// </summary> | ||
50 | private bool m_CreateDefaultAvatarEntries; | ||
51 | |||
47 | protected IGridService m_GridService; | 52 | protected IGridService m_GridService; |
48 | protected IAuthenticationService m_AuthenticationService; | 53 | protected IAuthenticationService m_AuthenticationService; |
49 | protected IGridUserService m_GridUserService; | 54 | protected IGridUserService m_GridUserService; |
50 | protected IInventoryService m_InventoryService; | 55 | protected IInventoryService m_InventoryService; |
56 | protected IAvatarService m_AvatarService; | ||
51 | 57 | ||
52 | public UserAccountService(IConfigSource config) | 58 | public UserAccountService(IConfigSource config) |
53 | : base(config) | 59 | : base(config) |
@@ -77,6 +83,12 @@ namespace OpenSim.Services.UserAccountService | |||
77 | if (invServiceDll != string.Empty) | 83 | if (invServiceDll != string.Empty) |
78 | m_InventoryService = LoadPlugin<IInventoryService>(invServiceDll, new Object[] { config }); | 84 | m_InventoryService = LoadPlugin<IInventoryService>(invServiceDll, new Object[] { config }); |
79 | 85 | ||
86 | string avatarServiceDll = userConfig.GetString("AvatarService", string.Empty); | ||
87 | if (avatarServiceDll != string.Empty) | ||
88 | m_AvatarService = LoadPlugin<IAvatarService>(avatarServiceDll, new Object[] { config }); | ||
89 | |||
90 | m_CreateDefaultAvatarEntries = userConfig.GetBoolean("CreateDefaultAvatarEntries", false); | ||
91 | |||
80 | if (MainConsole.Instance != null) | 92 | if (MainConsole.Instance != null) |
81 | { | 93 | { |
82 | MainConsole.Instance.Commands.AddCommand("UserService", false, | 94 | MainConsole.Instance.Commands.AddCommand("UserService", false, |
@@ -102,9 +114,7 @@ namespace OpenSim.Services.UserAccountService | |||
102 | "show account <first> <last>", | 114 | "show account <first> <last>", |
103 | "Show account details for the given user", HandleShowAccount); | 115 | "Show account details for the given user", HandleShowAccount); |
104 | } | 116 | } |
105 | |||
106 | } | 117 | } |
107 | |||
108 | } | 118 | } |
109 | 119 | ||
110 | #region IUserAccountService | 120 | #region IUserAccountService |
@@ -493,12 +503,20 @@ namespace OpenSim.Services.UserAccountService | |||
493 | { | 503 | { |
494 | success = m_InventoryService.CreateUserInventory(account.PrincipalID); | 504 | success = m_InventoryService.CreateUserInventory(account.PrincipalID); |
495 | if (!success) | 505 | if (!success) |
506 | { | ||
496 | m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to create inventory for account {0} {1}.", | 507 | m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to create inventory for account {0} {1}.", |
497 | firstName, lastName); | 508 | firstName, lastName); |
509 | } | ||
510 | else if (m_CreateDefaultAvatarEntries) | ||
511 | { | ||
512 | CreateDefaultAppearanceEntries(account.PrincipalID); | ||
513 | } | ||
498 | } | 514 | } |
499 | 515 | ||
500 | m_log.InfoFormat("[USER ACCOUNT SERVICE]: Account {0} {1} created successfully", firstName, lastName); | 516 | m_log.InfoFormat("[USER ACCOUNT SERVICE]: Account {0} {1} created successfully", firstName, lastName); |
501 | } else { | 517 | } |
518 | else | ||
519 | { | ||
502 | m_log.ErrorFormat("[USER ACCOUNT SERVICE]: Account creation failed for account {0} {1}", firstName, lastName); | 520 | m_log.ErrorFormat("[USER ACCOUNT SERVICE]: Account creation failed for account {0} {1}", firstName, lastName); |
503 | } | 521 | } |
504 | } | 522 | } |
@@ -507,5 +525,125 @@ namespace OpenSim.Services.UserAccountService | |||
507 | m_log.ErrorFormat("[USER ACCOUNT SERVICE]: A user with the name {0} {1} already exists!", firstName, lastName); | 525 | m_log.ErrorFormat("[USER ACCOUNT SERVICE]: A user with the name {0} {1} already exists!", firstName, lastName); |
508 | } | 526 | } |
509 | } | 527 | } |
528 | |||
529 | private void CreateDefaultAppearanceEntries(UUID principalID) | ||
530 | { | ||
531 | m_log.DebugFormat("[USER ACCOUNT SERVICE]: Creating default appearance items for {0}", principalID); | ||
532 | |||
533 | InventoryFolderBase bodyPartsFolder = m_InventoryService.GetFolderForType(principalID, AssetType.Bodypart); | ||
534 | |||
535 | InventoryItemBase eyes = new InventoryItemBase(UUID.Random(), principalID); | ||
536 | eyes.AssetID = new UUID("4bb6fa4d-1cd2-498a-a84c-95c1a0e745a7"); | ||
537 | eyes.Name = "Default Eyes"; | ||
538 | eyes.CreatorId = principalID.ToString(); | ||
539 | eyes.AssetType = (int)AssetType.Bodypart; | ||
540 | eyes.InvType = (int)InventoryType.Wearable; | ||
541 | eyes.Folder = bodyPartsFolder.ID; | ||
542 | eyes.BasePermissions = (uint)PermissionMask.All; | ||
543 | eyes.CurrentPermissions = (uint)PermissionMask.All; | ||
544 | eyes.EveryOnePermissions = (uint)PermissionMask.All; | ||
545 | eyes.GroupPermissions = (uint)PermissionMask.All; | ||
546 | eyes.NextPermissions = (uint)PermissionMask.All; | ||
547 | eyes.Flags = (uint)WearableType.Eyes; | ||
548 | m_InventoryService.AddItem(eyes); | ||
549 | |||
550 | InventoryItemBase shape = new InventoryItemBase(UUID.Random(), principalID); | ||
551 | shape.AssetID = AvatarWearable.DEFAULT_BODY_ASSET; | ||
552 | shape.Name = "Default Shape"; | ||
553 | shape.CreatorId = principalID.ToString(); | ||
554 | shape.AssetType = (int)AssetType.Bodypart; | ||
555 | shape.InvType = (int)InventoryType.Wearable; | ||
556 | shape.Folder = bodyPartsFolder.ID; | ||
557 | shape.BasePermissions = (uint)PermissionMask.All; | ||
558 | shape.CurrentPermissions = (uint)PermissionMask.All; | ||
559 | shape.EveryOnePermissions = (uint)PermissionMask.All; | ||
560 | shape.GroupPermissions = (uint)PermissionMask.All; | ||
561 | shape.NextPermissions = (uint)PermissionMask.All; | ||
562 | shape.Flags = (uint)WearableType.Shape; | ||
563 | m_InventoryService.AddItem(shape); | ||
564 | |||
565 | InventoryItemBase skin = new InventoryItemBase(UUID.Random(), principalID); | ||
566 | skin.AssetID = AvatarWearable.DEFAULT_SKIN_ASSET; | ||
567 | skin.Name = "Default Skin"; | ||
568 | skin.CreatorId = principalID.ToString(); | ||
569 | skin.AssetType = (int)AssetType.Bodypart; | ||
570 | skin.InvType = (int)InventoryType.Wearable; | ||
571 | skin.Folder = bodyPartsFolder.ID; | ||
572 | skin.BasePermissions = (uint)PermissionMask.All; | ||
573 | skin.CurrentPermissions = (uint)PermissionMask.All; | ||
574 | skin.EveryOnePermissions = (uint)PermissionMask.All; | ||
575 | skin.GroupPermissions = (uint)PermissionMask.All; | ||
576 | skin.NextPermissions = (uint)PermissionMask.All; | ||
577 | skin.Flags = (uint)WearableType.Skin; | ||
578 | m_InventoryService.AddItem(skin); | ||
579 | |||
580 | InventoryItemBase hair = new InventoryItemBase(UUID.Random(), principalID); | ||
581 | hair.AssetID = AvatarWearable.DEFAULT_HAIR_ASSET; | ||
582 | hair.Name = "Default Hair"; | ||
583 | hair.CreatorId = principalID.ToString(); | ||
584 | hair.AssetType = (int)AssetType.Bodypart; | ||
585 | hair.InvType = (int)InventoryType.Wearable; | ||
586 | hair.Folder = bodyPartsFolder.ID; | ||
587 | hair.BasePermissions = (uint)PermissionMask.All; | ||
588 | hair.CurrentPermissions = (uint)PermissionMask.All; | ||
589 | hair.EveryOnePermissions = (uint)PermissionMask.All; | ||
590 | hair.GroupPermissions = (uint)PermissionMask.All; | ||
591 | hair.NextPermissions = (uint)PermissionMask.All; | ||
592 | hair.Flags = (uint)WearableType.Hair; | ||
593 | m_InventoryService.AddItem(hair); | ||
594 | |||
595 | InventoryFolderBase clothingFolder = m_InventoryService.GetFolderForType(principalID, AssetType.Clothing); | ||
596 | |||
597 | InventoryItemBase shirt = new InventoryItemBase(UUID.Random(), principalID); | ||
598 | shirt.AssetID = AvatarWearable.DEFAULT_SHIRT_ASSET; | ||
599 | shirt.Name = "Default Shirt"; | ||
600 | shirt.CreatorId = principalID.ToString(); | ||
601 | shirt.AssetType = (int)AssetType.Clothing; | ||
602 | shirt.InvType = (int)InventoryType.Wearable; | ||
603 | shirt.Folder = clothingFolder.ID; | ||
604 | shirt.BasePermissions = (uint)PermissionMask.All; | ||
605 | shirt.CurrentPermissions = (uint)PermissionMask.All; | ||
606 | shirt.EveryOnePermissions = (uint)PermissionMask.All; | ||
607 | shirt.GroupPermissions = (uint)PermissionMask.All; | ||
608 | shirt.NextPermissions = (uint)PermissionMask.All; | ||
609 | shirt.Flags = (uint)WearableType.Shirt; | ||
610 | m_InventoryService.AddItem(shirt); | ||
611 | |||
612 | InventoryItemBase pants = new InventoryItemBase(UUID.Random(), principalID); | ||
613 | pants.AssetID = AvatarWearable.DEFAULT_PANTS_ASSET; | ||
614 | pants.Name = "Default Pants"; | ||
615 | pants.CreatorId = principalID.ToString(); | ||
616 | pants.AssetType = (int)AssetType.Clothing; | ||
617 | pants.InvType = (int)InventoryType.Wearable; | ||
618 | pants.Folder = clothingFolder.ID; | ||
619 | pants.BasePermissions = (uint)PermissionMask.All; | ||
620 | pants.CurrentPermissions = (uint)PermissionMask.All; | ||
621 | pants.EveryOnePermissions = (uint)PermissionMask.All; | ||
622 | pants.GroupPermissions = (uint)PermissionMask.All; | ||
623 | pants.NextPermissions = (uint)PermissionMask.All; | ||
624 | pants.Flags = (uint)WearableType.Pants; | ||
625 | m_InventoryService.AddItem(pants); | ||
626 | |||
627 | if (m_AvatarService != null) | ||
628 | { | ||
629 | m_log.DebugFormat("[USER ACCOUNT SERVICE]: Creating default avatar entries for {0}", principalID); | ||
630 | |||
631 | AvatarWearable[] wearables = new AvatarWearable[6]; | ||
632 | wearables[AvatarWearable.EYES] = new AvatarWearable(eyes.ID, eyes.AssetID); | ||
633 | wearables[AvatarWearable.BODY] = new AvatarWearable(shape.ID, shape.AssetID); | ||
634 | wearables[AvatarWearable.SKIN] = new AvatarWearable(skin.ID, skin.AssetID); | ||
635 | wearables[AvatarWearable.HAIR] = new AvatarWearable(hair.ID, hair.AssetID); | ||
636 | wearables[AvatarWearable.SHIRT] = new AvatarWearable(shirt.ID, shirt.AssetID); | ||
637 | wearables[AvatarWearable.PANTS] = new AvatarWearable(pants.ID, pants.AssetID); | ||
638 | |||
639 | AvatarAppearance ap = new AvatarAppearance(); | ||
640 | for (int i = 0; i < 6; i++) | ||
641 | { | ||
642 | ap.SetWearable(i, wearables[i]); | ||
643 | } | ||
644 | |||
645 | m_AvatarService.SetAppearance(principalID, ap); | ||
646 | } | ||
647 | } | ||
510 | } | 648 | } |
511 | } | 649 | } \ No newline at end of file |
diff --git a/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml b/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml index 8ef0fe7..a3d7ba3 100644 --- a/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml +++ b/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml | |||
@@ -4,7 +4,7 @@ | |||
4 | <Key Name="assetID" Value="d342e6c0-b9d2-11dc-95ff-0800200c9a66"/> | 4 | <Key Name="assetID" Value="d342e6c0-b9d2-11dc-95ff-0800200c9a66"/> |
5 | <Key Name="name" Value="Hair"/> | 5 | <Key Name="name" Value="Hair"/> |
6 | <Key Name="assetType" Value="13" /> | 6 | <Key Name="assetType" Value="13" /> |
7 | <Key Name="fileName" Value="newhair.dat"/> | 7 | <Key Name="fileName" Value="base_hair.dat"/> |
8 | </Section> | 8 | </Section> |
9 | 9 | ||
10 | <Section Name="Skin"> | 10 | <Section Name="Skin"> |
@@ -34,6 +34,14 @@ | |||
34 | <Key Name="assetType" Value="13" /> | 34 | <Key Name="assetType" Value="13" /> |
35 | <Key Name="fileName" Value="base_shape.dat"/> | 35 | <Key Name="fileName" Value="base_shape.dat"/> |
36 | </Section> | 36 | </Section> |
37 | |||
38 | <Section Name="Eyes"> | ||
39 | <Key Name="assetID" Value="4bb6fa4d-1cd2-498a-a84c-95c1a0e745a7"/> | ||
40 | <Key Name="name" Value="Eyes"/> | ||
41 | <Key Name="assetType" Value="13" /> | ||
42 | <Key Name="fileName" Value="base_eyes.dat"/> | ||
43 | </Section> | ||
44 | |||
37 | <!-- | 45 | <!-- |
38 | <Section Name="Jim Shape"> | 46 | <Section Name="Jim Shape"> |
39 | <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab74"/> | 47 | <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab74"/> |
diff --git a/bin/assets/BodyPartsAssetSet/base_eyes.dat b/bin/assets/BodyPartsAssetSet/base_eyes.dat new file mode 100644 index 0000000..520157c --- /dev/null +++ b/bin/assets/BodyPartsAssetSet/base_eyes.dat | |||
@@ -0,0 +1,26 @@ | |||
1 | LLWearable version 22 | ||
2 | New Eyes | ||
3 | |||
4 | permissions 0 | ||
5 | { | ||
6 | base_mask 7fffffff | ||
7 | owner_mask 7fffffff | ||
8 | group_mask 00000000 | ||
9 | everyone_mask 00000000 | ||
10 | next_owner_mask 00082000 | ||
11 | creator_id 11111111-1111-0000-0000-000100bba000 | ||
12 | owner_id 11111111-1111-0000-0000-000100bba000 | ||
13 | last_owner_id 00000000-0000-0000-0000-000000000000 | ||
14 | group_id 00000000-0000-0000-0000-000000000000 | ||
15 | } | ||
16 | sale_info 0 | ||
17 | { | ||
18 | sale_type not | ||
19 | sale_price 10 | ||
20 | } | ||
21 | type 3 | ||
22 | parameters 2 | ||
23 | 98 0 | ||
24 | 99 0 | ||
25 | textures 1 | ||
26 | 3 6522e74d-1660-4e7f-b601-6f48c1659a77 | ||
diff --git a/bin/assets/BodyPartsAssetSet/base_hair.dat b/bin/assets/BodyPartsAssetSet/base_hair.dat new file mode 100644 index 0000000..520157c --- /dev/null +++ b/bin/assets/BodyPartsAssetSet/base_hair.dat | |||
@@ -0,0 +1,26 @@ | |||
1 | LLWearable version 22 | ||
2 | New Eyes | ||
3 | |||
4 | permissions 0 | ||
5 | { | ||
6 | base_mask 7fffffff | ||
7 | owner_mask 7fffffff | ||
8 | group_mask 00000000 | ||
9 | everyone_mask 00000000 | ||
10 | next_owner_mask 00082000 | ||
11 | creator_id 11111111-1111-0000-0000-000100bba000 | ||
12 | owner_id 11111111-1111-0000-0000-000100bba000 | ||
13 | last_owner_id 00000000-0000-0000-0000-000000000000 | ||
14 | group_id 00000000-0000-0000-0000-000000000000 | ||
15 | } | ||
16 | sale_info 0 | ||
17 | { | ||
18 | sale_type not | ||
19 | sale_price 10 | ||
20 | } | ||
21 | type 3 | ||
22 | parameters 2 | ||
23 | 98 0 | ||
24 | 99 0 | ||
25 | textures 1 | ||
26 | 3 6522e74d-1660-4e7f-b601-6f48c1659a77 | ||
diff --git a/bin/assets/BodyPartsAssetSet/base_shape.dat b/bin/assets/BodyPartsAssetSet/base_shape.dat index d9a361f..bf719c9 100644 --- a/bin/assets/BodyPartsAssetSet/base_shape.dat +++ b/bin/assets/BodyPartsAssetSet/base_shape.dat | |||
@@ -1,105 +1,165 @@ | |||
1 | LLWearable version 22 | 1 | LLWearable version 22 |
2 | Female Shape and Outfit 3 Shape | 2 | New Shape |
3 | Created by system from avatar's appearance. | 3 | |
4 | permissions 0 | 4 | permissions 0 |
5 | { | 5 | { |
6 | base_mask 00000000 | 6 | base_mask 7fffffff |
7 | owner_mask 00000000 | 7 | owner_mask 7fffffff |
8 | group_mask 00000000 | 8 | group_mask 00000000 |
9 | everyone_mask 00000000 | 9 | everyone_mask 00000000 |
10 | next_owner_mask 00000000 | 10 | next_owner_mask 00082000 |
11 | creator_id 11111111-1111-0000-0000-000100bba000 | 11 | creator_id 11111111-1111-0000-0000-000100bba000 |
12 | owner_id 11111111-1111-0000-0000-000100bba000 | 12 | owner_id 11111111-1111-0000-0000-000100bba000 |
13 | last_owner_id 11111111-1111-0000-0000-000100bba000 | 13 | last_owner_id 00000000-0000-0000-0000-000000000000 |
14 | group_id 00000000-0000-0000-0000-000000000000 | 14 | group_id 00000000-0000-0000-0000-000000000000 |
15 | } | 15 | } |
16 | sale_info 0 | 16 | sale_info 0 |
17 | { | 17 | { |
18 | sale_type not | 18 | sale_type not |
19 | sale_price 0 | 19 | sale_price 10 |
20 | } | 20 | } |
21 | type 0 | 21 | type 0 |
22 | parameters 82 | 22 | parameters 142 |
23 | 1 .21 | 23 | 1 0 |
24 | 2 -.5 | 24 | 2 0 |
25 | 4 -.11 | 25 | 4 0 |
26 | 5 -.1 | 26 | 5 0 |
27 | 6 -.3 | 27 | 6 0 |
28 | 7 -.4 | 28 | 7 0 |
29 | 8 -.5 | 29 | 8 0 |
30 | 10 .7 | 30 | 10 0 |
31 | 11 .34 | 31 | 11 0 |
32 | 12 -.5 | 32 | 12 0 |
33 | 13 0 | 33 | 13 0 |
34 | 14 .04 | 34 | 14 0 |
35 | 15 .58 | 35 | 15 0 |
36 | 17 .56 | 36 | 17 0 |
37 | 18 -.26 | 37 | 18 0 |
38 | 19 -.73 | 38 | 19 0 |
39 | 20 -.34 | 39 | 20 0 |
40 | 21 -.01 | 40 | 21 0 |
41 | 22 1 | 41 | 22 0 |
42 | 23 -.5 | 42 | 23 0 |
43 | 24 -.63 | 43 | 24 0 |
44 | 25 .44 | 44 | 25 0 |
45 | 27 .05 | 45 | 26 0 |
46 | 33 -.24 | 46 | 27 0 |
47 | 34 -.7 | 47 | 28 0 |
48 | 35 -.16 | 48 | 29 .12 |
49 | 36 -.2 | 49 | 30 .12 |
50 | 37 -.98 | 50 | 32 0 |
51 | 38 -.5 | 51 | 33 0 |
52 | 34 0 | ||
53 | 35 0 | ||
54 | 36 -.5 | ||
55 | 37 0 | ||
56 | 38 0 | ||
57 | 40 0 | ||
52 | 80 0 | 58 | 80 0 |
53 | 105 .07 | 59 | 100 0 |
54 | 155 -.22 | 60 | 104 0 |
61 | 105 .5 | ||
62 | 106 0 | ||
63 | 151 0 | ||
64 | 152 0 | ||
65 | 153 0 | ||
66 | 155 0 | ||
67 | 156 0 | ||
55 | 157 0 | 68 | 157 0 |
56 | 185 -1 | 69 | 185 0 |
57 | 193 .86 | 70 | 186 0 |
58 | 196 -.74 | 71 | 187 0 |
59 | 505 .65 | 72 | 188 0 |
60 | 506 .12 | 73 | 189 0 |
61 | 507 -1.5 | 74 | 193 .5 |
75 | 194 .67 | ||
76 | 195 .33 | ||
77 | 196 0 | ||
78 | 505 .5 | ||
79 | 506 0 | ||
80 | 507 0 | ||
62 | 515 0 | 81 | 515 0 |
63 | 517 .16 | 82 | 517 0 |
64 | 518 .8 | 83 | 518 0 |
65 | 629 0 | 84 | 626 0 |
85 | 627 0 | ||
86 | 629 .5 | ||
87 | 630 0 | ||
88 | 631 0 | ||
89 | 633 0 | ||
90 | 634 0 | ||
91 | 635 0 | ||
66 | 637 0 | 92 | 637 0 |
67 | 646 .4 | 93 | 646 0 |
68 | 647 1 | 94 | 647 0 |
69 | 649 .36 | 95 | 648 0 |
70 | 650 .85 | 96 | 649 .5 |
71 | 652 .49 | 97 | 650 0 |
72 | 653 -1 | 98 | 651 0 |
99 | 652 .5 | ||
100 | 653 0 | ||
101 | 655 -.08 | ||
73 | 656 0 | 102 | 656 0 |
74 | 659 .65 | 103 | 657 0 |
104 | 658 0 | ||
105 | 659 .5 | ||
106 | 660 0 | ||
107 | 661 0 | ||
75 | 662 .5 | 108 | 662 .5 |
76 | 663 0 | 109 | 663 0 |
77 | 664 0 | 110 | 664 0 |
78 | 665 0 | 111 | 665 0 |
79 | 675 -.15 | 112 | 675 0 |
80 | 676 .26 | 113 | 676 0 |
81 | 678 .28 | 114 | 677 0 |
82 | 682 .27 | 115 | 678 .5 |
83 | 683 -.19 | 116 | 679 -.08 |
84 | 684 -.09 | 117 | 680 -.08 |
118 | 681 -.08 | ||
119 | 682 .5 | ||
120 | 683 -.15 | ||
121 | 684 0 | ||
85 | 685 0 | 122 | 685 0 |
86 | 690 .45 | 123 | 686 0 |
87 | 692 .4 | 124 | 687 0 |
88 | 693 -0 | 125 | 688 0 |
89 | 753 -.5 | 126 | 689 0 |
90 | 756 -.08 | 127 | 690 .5 |
91 | 758 .24 | 128 | 691 0 |
92 | 759 .6 | 129 | 692 0 |
93 | 760 .11 | 130 | 693 .6 |
94 | 764 -.38 | 131 | 694 -.08 |
95 | 765 -.3 | 132 | 695 0 |
96 | 769 .42 | 133 | 753 0 |
97 | 773 .51 | 134 | 756 0 |
98 | 795 .16 | 135 | 758 0 |
99 | 796 .11 | 136 | 759 .5 |
100 | 799 .36 | 137 | 760 0 |
138 | 764 0 | ||
139 | 765 0 | ||
140 | 767 0 | ||
141 | 768 0 | ||
142 | 769 .5 | ||
143 | 770 0 | ||
144 | 772 0 | ||
145 | 773 .5 | ||
146 | 794 .17 | ||
147 | 795 .25 | ||
148 | 796 0 | ||
149 | 797 0 | ||
150 | 798 0 | ||
151 | 799 .5 | ||
101 | 841 0 | 152 | 841 0 |
102 | 842 -.82 | 153 | 842 0 |
154 | 843 0 | ||
155 | 853 0 | ||
156 | 854 0 | ||
157 | 855 0 | ||
103 | 879 0 | 158 | 879 0 |
104 | 880 0 | 159 | 880 0 |
160 | 1103 0 | ||
161 | 1104 0 | ||
162 | 1105 0 | ||
163 | 1200 0 | ||
164 | 1201 0 | ||
105 | textures 0 | 165 | textures 0 |
diff --git a/bin/assets/BodyPartsAssetSet/newhair.dat b/bin/assets/BodyPartsAssetSet/newhair.dat deleted file mode 100644 index 3c5a8c9..0000000 --- a/bin/assets/BodyPartsAssetSet/newhair.dat +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | LLWearable version 22 | ||
2 | New Hair | ||
3 | |||
4 | permissions 0 | ||
5 | { | ||
6 | base_mask 7fffffff | ||
7 | owner_mask 7fffffff | ||
8 | group_mask 00000000 | ||
9 | everyone_mask 00000000 | ||
10 | next_owner_mask 00082000 | ||
11 | creator_id a52db6d0-e96c-4454-85e5-3523722daa25 | ||
12 | owner_id a52db6d0-e96c-4454-85e5-3523722daa25 | ||
13 | last_owner_id 00000000-0000-0000-0000-000000000000 | ||
14 | group_id 00000000-0000-0000-0000-000000000000 | ||
15 | } | ||
16 | sale_info 0 | ||
17 | { | ||
18 | sale_type not | ||
19 | sale_price 10 | ||
20 | } | ||
21 | type 2 | ||
22 | parameters 39 | ||
23 | 16 0 | ||
24 | 31 .5 | ||
25 | 112 0 | ||
26 | 113 0 | ||
27 | 114 .5 | ||
28 | 115 0 | ||
29 | 119 .5 | ||
30 | 130 .45 | ||
31 | 131 .5 | ||
32 | 132 .39 | ||
33 | 133 .25 | ||
34 | 134 .5 | ||
35 | 135 .55 | ||
36 | 136 .5 | ||
37 | 137 .5 | ||
38 | 140 0 | ||
39 | 141 0 | ||
40 | 142 0 | ||
41 | 143 .13 | ||
42 | 166 0 | ||
43 | 167 0 | ||
44 | 168 0 | ||
45 | 169 0 | ||
46 | 177 0 | ||
47 | 181 .14 | ||
48 | 182 .7 | ||
49 | 183 .05 | ||
50 | 184 0 | ||
51 | 192 0 | ||
52 | 674 -.3 | ||
53 | 750 .7 | ||
54 | 752 .5 | ||
55 | 754 0 | ||
56 | 755 .05 | ||
57 | 757 -1 | ||
58 | 762 0 | ||
59 | 763 .55 | ||
60 | 785 0 | ||
61 | 789 0 | ||
62 | textures 1 | ||
63 | 4 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b | ||
diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index 3af9c99..ecf2005 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml | |||
@@ -430,6 +430,13 @@ | |||
430 | <Key Name="fileName" Value="default_avatar.jp2" /> | 430 | <Key Name="fileName" Value="default_avatar.jp2" /> |
431 | </Section> | 431 | </Section> |
432 | 432 | ||
433 | <Section Name="Default Iris"> | ||
434 | <Key Name="assetID" Value="6522e74d-1660-4e7f-b601-6f48c1659a77"/> | ||
435 | <Key Name="name" Value="Default Iris"/> | ||
436 | <Key Name="assetType" Value="0" /> | ||
437 | <Key Name="fileName" Value="default_iris.jp2" /> | ||
438 | </Section> | ||
439 | |||
433 | <Section Name="Cypress 1"> | 440 | <Section Name="Cypress 1"> |
434 | <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/> | 441 | <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/> |
435 | <Key Name="name" Value="Cypress 1"/> | 442 | <Key Name="name" Value="Cypress 1"/> |
diff --git a/bin/assets/TexturesAssetSet/default_iris.jp2 b/bin/assets/TexturesAssetSet/default_iris.jp2 new file mode 100644 index 0000000..b932a06 --- /dev/null +++ b/bin/assets/TexturesAssetSet/default_iris.jp2 | |||
Binary files differ | |||
diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini index bf89d0b..8aaa154 100644 --- a/bin/config-include/Standalone.ini +++ b/bin/config-include/Standalone.ini | |||
@@ -70,6 +70,7 @@ | |||
70 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | 70 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" |
71 | GridService = "OpenSim.Services.GridService.dll:GridService" | 71 | GridService = "OpenSim.Services.GridService.dll:GridService" |
72 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" | 72 | InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService" |
73 | AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" | ||
73 | 74 | ||
74 | [GridUserService] | 75 | [GridUserService] |
75 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" | 76 | LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService" |
diff --git a/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml index a018a0d..e1452f6 100644 --- a/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml +++ b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml | |||
@@ -561,4 +561,14 @@ | |||
561 | <Key Name="assetType" Value="0" /> | 561 | <Key Name="assetType" Value="0" /> |
562 | <Key Name="inventoryType" Value="0" /> | 562 | <Key Name="inventoryType" Value="0" /> |
563 | </Section> | 563 | </Section> |
564 | |||
565 | <Section Name="Default Iris Texture"> | ||
566 | <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000013"/> | ||
567 | <Key Name="assetID" Value="6e610cae-3b0d-4729-b482-2c31ab2e49f9"/> | ||
568 | <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/> | ||
569 | <Key Name="description" Value=""/> | ||
570 | <Key Name="name" Value="Default Iris Texture" /> | ||
571 | <Key Name="assetType" Value="0" /> | ||
572 | <Key Name="inventoryType" Value="0" /> | ||
573 | </Section> | ||
564 | </Nini> | 574 | </Nini> |