mirror of
https://github.com/opensim/opensim.git
synced 2026-07-14 03:15:36 +08:00
* Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures * Properly handle appearance updates that do not have a TextureEntry set
This commit is contained in:
@@ -5272,13 +5272,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
// for the client session anyway, in order to protect ourselves against bad code in plugins
|
||||
try
|
||||
{
|
||||
List<byte> visualparams = new List<byte>();
|
||||
foreach (AgentSetAppearancePacket.VisualParamBlock x in appear.VisualParam)
|
||||
{
|
||||
visualparams.Add(x.ParamValue);
|
||||
}
|
||||
byte[] visualparams = new byte[appear.VisualParam.Length];
|
||||
for (int i = 0; i < appear.VisualParam.Length; i++)
|
||||
visualparams[i] = appear.VisualParam[i].ParamValue;
|
||||
|
||||
handlerSetAppearance(appear.ObjectData.TextureEntry, visualparams);
|
||||
Primitive.TextureEntry te = null;
|
||||
if (appear.ObjectData.TextureEntry.Length > 1)
|
||||
te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length);
|
||||
|
||||
handlerSetAppearance(te, visualparams);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user