* This is a better way to do the last commit.
parent
0e2b717b4d
commit
6c1a852137
|
@ -459,7 +459,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } }
|
public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } }
|
||||||
private Dictionary<UUID,UUID> agentWearables = new Dictionary<UUID, UUID>();
|
|
||||||
|
|
||||||
#endregion Properties
|
#endregion Properties
|
||||||
|
|
||||||
|
@ -585,6 +585,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// Disable UDP handling for this client
|
// Disable UDP handling for this client
|
||||||
m_udpClient.Shutdown();
|
m_udpClient.Shutdown();
|
||||||
|
|
||||||
|
|
||||||
//m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false));
|
//m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false));
|
||||||
//GC.Collect();
|
//GC.Collect();
|
||||||
//m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true));
|
//m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true));
|
||||||
|
@ -2750,10 +2751,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
req.AssetInf.ID, req.AssetInf.Metadata.ContentType);
|
req.AssetInf.ID, req.AssetInf.Metadata.ContentType);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
UUID WearableOut = UUID.Zero;
|
int WearableOut = 0;
|
||||||
bool isWearable = false;
|
bool isWearable = false;
|
||||||
isWearable = agentWearables.TryGetValue(req.RequestAssetID, out WearableOut);
|
|
||||||
// m_log.Debug("sending asset " + req.RequestAssetID + ", iswearable: " + isWearable);
|
if (req.AssetInf != null)
|
||||||
|
isWearable =
|
||||||
|
((AssetType) req.AssetInf.Type ==
|
||||||
|
AssetType.Bodypart || (AssetType) req.AssetInf.Type == AssetType.Clothing);
|
||||||
|
|
||||||
|
|
||||||
|
//m_log.Debug("sending asset " + req.RequestAssetID + ", iswearable: " + isWearable);
|
||||||
|
|
||||||
|
|
||||||
|
//if (isWearable)
|
||||||
|
// m_log.Debug((AssetType)req.AssetInf.Type);
|
||||||
|
|
||||||
TransferInfoPacket Transfer = new TransferInfoPacket();
|
TransferInfoPacket Transfer = new TransferInfoPacket();
|
||||||
Transfer.TransferInfo.ChannelType = 2;
|
Transfer.TransferInfo.ChannelType = 2;
|
||||||
Transfer.TransferInfo.Status = 0;
|
Transfer.TransferInfo.Status = 0;
|
||||||
|
@ -3574,9 +3586,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[count];
|
aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[count];
|
||||||
AgentWearablesUpdatePacket.WearableDataBlock awb;
|
AgentWearablesUpdatePacket.WearableDataBlock awb;
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
lock (agentWearables)
|
|
||||||
{
|
|
||||||
agentWearables.Clear();
|
|
||||||
for (int i = 0; i < wearables.Length; i++)
|
for (int i = 0; i < wearables.Length; i++)
|
||||||
{
|
{
|
||||||
for (int j = 0; j < wearables[i].Count; j++)
|
for (int j = 0; j < wearables[i].Count; j++)
|
||||||
|
@ -3585,7 +3595,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
awb.WearableType = (byte) i;
|
awb.WearableType = (byte) i;
|
||||||
awb.AssetID = wearables[i][j].AssetID;
|
awb.AssetID = wearables[i][j].AssetID;
|
||||||
awb.ItemID = wearables[i][j].ItemID;
|
awb.ItemID = wearables[i][j].ItemID;
|
||||||
agentWearables.Add(awb.AssetID, awb.ItemID);
|
|
||||||
aw.WearableData[idx] = awb;
|
aw.WearableData[idx] = awb;
|
||||||
idx++;
|
idx++;
|
||||||
|
|
||||||
|
@ -3594,7 +3603,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// awb.ItemID, awb.AssetID, i, Name);
|
// awb.ItemID, awb.AssetID, i, Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
OutPacket(aw, ThrottleOutPacketType.State);
|
OutPacket(aw, ThrottleOutPacketType.State);
|
||||||
}
|
}
|
||||||
|
@ -7777,12 +7785,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// surrounding scene
|
// surrounding scene
|
||||||
if ((ImageType)block.Type == ImageType.Baked)
|
if ((ImageType)block.Type == ImageType.Baked)
|
||||||
args.Priority *= 2.0f;
|
args.Priority *= 2.0f;
|
||||||
|
int wearableout = 0;
|
||||||
UUID wearableout = UUID.Zero;
|
|
||||||
if (agentWearables.TryGetValue(block.Image, out wearableout))
|
|
||||||
{
|
|
||||||
args.Priority *= 2.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
ImageManager.EnqueueReq(args);
|
ImageManager.EnqueueReq(args);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue