diff --git a/libsecondlife-cs/AssetSystem/AppearanceManager.cs b/libsecondlife-cs/AssetSystem/AppearanceManager.cs
index d0dca654..65548edc 100644
--- a/libsecondlife-cs/AssetSystem/AppearanceManager.cs
+++ b/libsecondlife-cs/AssetSystem/AppearanceManager.cs
@@ -89,7 +89,7 @@ namespace libsecondlife.AssetSystem
// Update with specified wearables
foreach (InventoryWearable iw in wearables)
{
- byte type = ((AssetWearable)iw.Asset).TypeFromAsset;
+ byte type = (byte)((AssetWearable)iw.Asset).AppearanceLayer;
AgentWearablesData[type].ItemID = iw.ItemID;
AgentWearablesData[type].AssetID = iw.AssetID;
}
@@ -148,9 +148,13 @@ namespace libsecondlife.AssetSystem
try
{
InventoryWearable iw = (InventoryWearable)ib;
- byte type = ((AssetWearable)iw.Asset).TypeFromAsset;
- AgentWearablesData[type].ItemID = iw.ItemID;
- AgentWearablesData[type].AssetID = iw.AssetID;
+ Client.Log("Retrieving asset for " + iw.Name + "("+iw.AssetID+")", Helpers.LogLevel.Info);
+ AssetWearable.AppearanceLayerType AppearanceLayer = ((AssetWearable)iw.Asset).AppearanceLayer;
+
+ Client.Log("Adding skin/clothing layer for " + AppearanceLayer, Helpers.LogLevel.Info);
+ AgentWearablesData[(byte)AppearanceLayer].ItemID = iw.ItemID;
+ AgentWearablesData[(byte)AppearanceLayer].AssetID = iw.AssetID;
+
}
catch (Exception e)
{
diff --git a/libsecondlife-cs/AssetSystem/AssetManager.cs b/libsecondlife-cs/AssetSystem/AssetManager.cs
index 4def1434..b1b0a2f1 100644
--- a/libsecondlife-cs/AssetSystem/AssetManager.cs
+++ b/libsecondlife-cs/AssetSystem/AssetManager.cs
@@ -83,7 +83,7 @@ namespace libsecondlife.AssetSystem
///
/// Time to wait for next packet, during an asset download.
///
- public readonly static int DefaultTimeout = 3000;
+ public readonly static int DefaultTimeout = 10000;
///
/// Event singaling an asset transfer request has completed.
diff --git a/libsecondlife-cs/AssetSystem/AssetRequest.cs b/libsecondlife-cs/AssetSystem/AssetRequest.cs
index 537d300f..b2a1135d 100644
--- a/libsecondlife-cs/AssetSystem/AssetRequest.cs
+++ b/libsecondlife-cs/AssetSystem/AssetRequest.cs
@@ -123,14 +123,14 @@ namespace libsecondlife.AssetSystem
while (!_Completed.WaitOne(900, false))
{
- if (SecondsSinceLastPacket > hardTimeout)
+ if ((hardTimeout != -1) && (SecondsSinceLastPacket > hardTimeout))
{
_StatusMsg += "Timeout Failure - Hard timeout reached (" + SecondsSinceLastPacket + " > " + hardTimeout + ")";
return RequestStatus.Failure;
}
else
{
- if (SecondsSinceLastPacket > softTimeout)
+ if ((softTimeout != -1) && (SecondsSinceLastPacket > softTimeout))
{
_StatusMsg += "Timeout Failure - Soft Timeout ( " + SecondsSinceLastPacket + " > " + softTimeout + ")";
return RequestStatus.Failure;
diff --git a/libsecondlife-cs/AssetSystem/AssetWearable.cs b/libsecondlife-cs/AssetSystem/AssetWearable.cs
index b529cabb..3bcd716e 100644
--- a/libsecondlife-cs/AssetSystem/AssetWearable.cs
+++ b/libsecondlife-cs/AssetSystem/AssetWearable.cs
@@ -57,13 +57,13 @@ namespace libsecondlife.AssetSystem
}
}
- private byte _TypeFromAsset = 0;
- public byte TypeFromAsset
+ private AppearanceLayerType _AppearanceLayer = 0;
+ public AppearanceLayerType AppearanceLayer
{
- get { return _TypeFromAsset; }
+ get { return _AppearanceLayer; }
set
{
- _TypeFromAsset = value;
+ _AppearanceLayer = value;
UpdateAssetData();
}
}
@@ -245,7 +245,7 @@ namespace libsecondlife.AssetSystem
private int _SalePrice = 0;
- private enum _WearableType : byte
+ public enum AppearanceLayerType : byte
{
///
Shape = 0,
@@ -405,7 +405,7 @@ namespace libsecondlife.AssetSystem
}
else if (line.StartsWith("type "))
{
- Type = (sbyte)(_WearableType)Int32.Parse(line.Substring(5));
+ AppearanceLayer = (AppearanceLayerType)Int32.Parse(line.Substring(5));
break;
}
}
@@ -482,7 +482,7 @@ namespace libsecondlife.AssetSystem
data += "\n\t\tsale_type\t" + this._Sale_Type;
data += "\n\t\tsale_price\t" + this._Sale_Price;
data += "\n\t}";
- data += "\ntype " + this._TypeFromAsset;
+ data += "\ntype " + this._AppearanceLayer;
data += "\nparameters " + this._Parameters.Count;
foreach (KeyValuePair param in this._Parameters)
{
diff --git a/libsecondlife-cs/InventorySystem/InventoryItem.cs b/libsecondlife-cs/InventorySystem/InventoryItem.cs
index 81d8ea63..379464b2 100644
--- a/libsecondlife-cs/InventorySystem/InventoryItem.cs
+++ b/libsecondlife-cs/InventorySystem/InventoryItem.cs
@@ -138,11 +138,9 @@ namespace libsecondlife.InventorySystem
switch (Type)
{
case (sbyte)Asset.AssetType.Clothing:
- Console.WriteLine(">> Clothing");
_Asset = new AssetWearable_Clothing(AssetID, request.GetAssetData());
break;
case (sbyte)Asset.AssetType.Bodypart:
- Console.WriteLine(">> Bodypart");
_Asset = new AssetWearable_Body(AssetID, request.GetAssetData());
break;
case (sbyte)Asset.AssetType.LSLText:
@@ -155,7 +153,6 @@ namespace libsecondlife.InventorySystem
_Asset = new AssetImage(AssetID, request.GetAssetData());
break;
default:
- Console.WriteLine(">> Bodypart");
_Asset = new Asset(AssetID, Type, request.GetAssetData());
break;
}