* Possibly fix grey avatar appearance problems

* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).  
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally.  If it disappears we should reply to the asset request with 
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing.  This may well no longer be the case and needs to be tested, but in the mean time we will store 
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead
This commit is contained in:
Justin Clarke Casey
2008-10-28 21:31:23 +00:00
parent 247b806134
commit 1ff9709ea3
5 changed files with 58 additions and 17 deletions

View File

@@ -2239,6 +2239,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
awb.AssetID = wearables[i].AssetID;
awb.ItemID = wearables[i].ItemID;
aw.WearableData[i] = awb;
// m_log.DebugFormat(
// "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}",
// awb.ItemID, awb.AssetID, i, Name);
}
OutPacket(aw, ThrottleOutPacketType.Task);
@@ -4205,6 +4209,8 @@ Console.WriteLine(msgpack.ToString());
if (handlerRequestWearables != null)
{
m_log.DebugFormat("[APPEARANCE]: Wearables requested by {0}", Name);
handlerRequestWearables();
}
@@ -7076,7 +7082,6 @@ Console.WriteLine(msgpack.ToString());
public void SendAsset(AssetRequestToClient req)
{
//Console.WriteLine("sending asset " + req.RequestAssetID);
TransferInfoPacket Transfer = new TransferInfoPacket();
Transfer.TransferInfo.ChannelType = 2;