Merge branch 'teravuswork' into avination
commit
1e354f70d2
|
@ -691,7 +691,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
case WearableType.Shape:
|
case WearableType.Shape:
|
||||||
case WearableType.Skin:
|
case WearableType.Skin:
|
||||||
//case WearableType.Underpants:
|
//case WearableType.Underpants:
|
||||||
TryAndRepair((WearableType)i, invService, userID, appearance);
|
TryAndRepairBrokenWearable((WearableType)i, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
m_log.Warn("[AVFACTORY]: UUID.Zero Wearables, passing fake values.");
|
m_log.Warn("[AVFACTORY]: UUID.Zero Wearables, passing fake values.");
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
@ -711,7 +711,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
case WearableType.Shape:
|
case WearableType.Shape:
|
||||||
case WearableType.Skin:
|
case WearableType.Skin:
|
||||||
//case WearableType.Underpants:
|
//case WearableType.Underpants:
|
||||||
TryAndRepair((WearableType)i, invService, userID, appearance);
|
TryAndRepairBrokenWearable((WearableType)i, invService, userID, appearance);
|
||||||
|
|
||||||
m_log.WarnFormat("[AVFACTORY]: {0} Default Wearables, passing existing values.", (WearableType)i);
|
m_log.WarnFormat("[AVFACTORY]: {0} Default Wearables, passing existing values.", (WearableType)i);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
@ -727,6 +727,17 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
if (baseItem != null)
|
if (baseItem != null)
|
||||||
{
|
{
|
||||||
appearance.Wearables[i].Add(appearance.Wearables[i][j].ItemID, baseItem.AssetID);
|
appearance.Wearables[i].Add(appearance.Wearables[i][j].ItemID, baseItem.AssetID);
|
||||||
|
int unmodifiedWearableIndexForClosure = i;
|
||||||
|
m_scene.AssetService.Get(baseItem.AssetID.ToString(), this,
|
||||||
|
delegate(string x, object y, AssetBase z)
|
||||||
|
{
|
||||||
|
if (z == null)
|
||||||
|
{
|
||||||
|
TryAndRepairBrokenWearable(
|
||||||
|
(WearableType)unmodifiedWearableIndexForClosure, invService,
|
||||||
|
userID, appearance);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -734,7 +745,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
"[AVFACTORY]: Can't find inventory item {0} for {1}, setting to default",
|
"[AVFACTORY]: Can't find inventory item {0} for {1}, setting to default",
|
||||||
appearance.Wearables[i][j].ItemID, (WearableType)i);
|
appearance.Wearables[i][j].ItemID, (WearableType)i);
|
||||||
|
|
||||||
TryAndRepair((WearableType)i, invService, userID, appearance);
|
TryAndRepairBrokenWearable((WearableType)i, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -746,7 +757,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[AVFACTORY]: {0} Eyes are Null, passing existing values.", (WearableType.Eyes));
|
m_log.WarnFormat("[AVFACTORY]: {0} Eyes are Null, passing existing values.", (WearableType.Eyes));
|
||||||
|
|
||||||
TryAndRepair(WearableType.Eyes, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Eyes, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -756,7 +767,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
m_log.WarnFormat("[AVFACTORY]: Eyes are UUID.Zero are broken, {0} {1}",
|
m_log.WarnFormat("[AVFACTORY]: Eyes are UUID.Zero are broken, {0} {1}",
|
||||||
appearance.Wearables[(int) WearableType.Eyes][0].ItemID,
|
appearance.Wearables[(int) WearableType.Eyes][0].ItemID,
|
||||||
appearance.Wearables[(int) WearableType.Eyes][0].AssetID);
|
appearance.Wearables[(int) WearableType.Eyes][0].AssetID);
|
||||||
TryAndRepair(WearableType.Eyes, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Eyes, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -767,7 +778,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[AVFACTORY]: {0} shape is Null, passing existing values.", (WearableType.Shape));
|
m_log.WarnFormat("[AVFACTORY]: {0} shape is Null, passing existing values.", (WearableType.Shape));
|
||||||
|
|
||||||
TryAndRepair(WearableType.Shape, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Shape, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -777,7 +788,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
m_log.WarnFormat("[AVFACTORY]: Shape is UUID.Zero and broken, {0} {1}",
|
m_log.WarnFormat("[AVFACTORY]: Shape is UUID.Zero and broken, {0} {1}",
|
||||||
appearance.Wearables[(int)WearableType.Shape][0].ItemID,
|
appearance.Wearables[(int)WearableType.Shape][0].ItemID,
|
||||||
appearance.Wearables[(int)WearableType.Shape][0].AssetID);
|
appearance.Wearables[(int)WearableType.Shape][0].AssetID);
|
||||||
TryAndRepair(WearableType.Shape, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Shape, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -788,7 +799,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[AVFACTORY]: {0} Hair is Null, passing existing values.", (WearableType.Hair));
|
m_log.WarnFormat("[AVFACTORY]: {0} Hair is Null, passing existing values.", (WearableType.Hair));
|
||||||
|
|
||||||
TryAndRepair(WearableType.Hair, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Hair, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -798,7 +809,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
m_log.WarnFormat("[AVFACTORY]: Hair is UUID.Zero and broken, {0} {1}",
|
m_log.WarnFormat("[AVFACTORY]: Hair is UUID.Zero and broken, {0} {1}",
|
||||||
appearance.Wearables[(int)WearableType.Hair][0].ItemID,
|
appearance.Wearables[(int)WearableType.Hair][0].ItemID,
|
||||||
appearance.Wearables[(int)WearableType.Hair][0].AssetID);
|
appearance.Wearables[(int)WearableType.Hair][0].AssetID);
|
||||||
TryAndRepair(WearableType.Hair, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Hair, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -809,7 +820,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[AVFACTORY]: {0} Skin is Null, passing existing values.", (WearableType.Skin));
|
m_log.WarnFormat("[AVFACTORY]: {0} Skin is Null, passing existing values.", (WearableType.Skin));
|
||||||
|
|
||||||
TryAndRepair(WearableType.Skin, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Skin, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -819,7 +830,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
m_log.WarnFormat("[AVFACTORY]: Skin is UUID.Zero and broken, {0} {1}",
|
m_log.WarnFormat("[AVFACTORY]: Skin is UUID.Zero and broken, {0} {1}",
|
||||||
appearance.Wearables[(int)WearableType.Skin][0].ItemID,
|
appearance.Wearables[(int)WearableType.Skin][0].ItemID,
|
||||||
appearance.Wearables[(int)WearableType.Skin][0].AssetID);
|
appearance.Wearables[(int)WearableType.Skin][0].AssetID);
|
||||||
TryAndRepair(WearableType.Skin, invService, userID, appearance);
|
TryAndRepairBrokenWearable(WearableType.Skin, invService, userID, appearance);
|
||||||
resetwearable = true;
|
resetwearable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -841,7 +852,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
|
||||||
m_log.WarnFormat("[AVFACTORY]: user {0} has no inventory, appearance isn't going to work", userID);
|
m_log.WarnFormat("[AVFACTORY]: user {0} has no inventory, appearance isn't going to work", userID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void TryAndRepair(WearableType type, IInventoryService invService, UUID userID,AvatarAppearance appearance)
|
private void TryAndRepairBrokenWearable(WearableType type, IInventoryService invService, UUID userID,AvatarAppearance appearance)
|
||||||
{
|
{
|
||||||
UUID defaultwearable = GetDefaultItem(type);
|
UUID defaultwearable = GetDefaultItem(type);
|
||||||
if (defaultwearable != UUID.Zero)
|
if (defaultwearable != UUID.Zero)
|
||||||
|
|
Loading…
Reference in New Issue