Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster

avinationmerge
Melanie 2012-04-27 01:31:12 +01:00
commit 7397c9a68e
5 changed files with 55 additions and 23 deletions

View File

@ -42,6 +42,8 @@ namespace OpenSim.Framework
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// this is viewer capabilities and weared things dependent
// should be only used as initial default value ( V1 viewers )
public readonly static int VISUALPARAM_COUNT = 218; public readonly static int VISUALPARAM_COUNT = 218;
public readonly static int TEXTURE_COUNT = 21; public readonly static int TEXTURE_COUNT = 21;
@ -319,19 +321,30 @@ namespace OpenSim.Framework
// made. We determine if any of the visual parameters actually // made. We determine if any of the visual parameters actually
// changed to know if the appearance should be saved later // changed to know if the appearance should be saved later
bool changed = false; bool changed = false;
for (int i = 0; i < AvatarAppearance.VISUALPARAM_COUNT; i++)
int newsize = visualParams.Length;
if (newsize != m_visualparams.Length)
{
changed = true;
m_visualparams = (byte[])visualParams.Clone();
}
else
{
for (int i = 0; i < newsize; i++)
{ {
if (visualParams[i] != m_visualparams[i]) if (visualParams[i] != m_visualparams[i])
{ {
// DEBUG ON // DEBUG ON
// m_log.WarnFormat("[AVATARAPPEARANCE] vparams changed [{0}] {1} ==> {2}", // m_log.WarnFormat("[AVATARAPPEARANCE] vparams changed [{0}] {1} ==> {2}",
// i,m_visualparams[i],visualParams[i]); // i,m_visualparams[i],visualParams[i]);
// DEBUG OFF // DEBUG OFF
m_visualparams[i] = visualParams[i]; m_visualparams[i] = visualParams[i];
changed = true; changed = true;
} }
} }
}
// Reset the height if the visual parameters actually changed // Reset the height if the visual parameters actually changed
if (changed) if (changed)
SetHeight(); SetHeight();
@ -389,7 +402,8 @@ namespace OpenSim.Framework
} }
s += "Visual Params: "; s += "Visual Params: ";
for (uint j = 0; j < AvatarAppearance.VISUALPARAM_COUNT; j++) // for (uint j = 0; j < AvatarAppearance.VISUALPARAM_COUNT; j++)
for (uint j = 0; j < m_visualparams.Length; j++)
s += String.Format("{0},",m_visualparams[j]); s += String.Format("{0},",m_visualparams[j]);
s += "\n"; s += "\n";

View File

@ -62,9 +62,14 @@ namespace OpenSim.Framework
public static readonly int UNDERSHIRT = 10; public static readonly int UNDERSHIRT = 10;
public static readonly int UNDERPANTS = 11; public static readonly int UNDERPANTS = 11;
public static readonly int SKIRT = 12; public static readonly int SKIRT = 12;
public static readonly int MAX_BASICWEARABLES = 13;
public static readonly int ALPHA = 13; public static readonly int ALPHA = 13;
public static readonly int TATTOO = 14; public static readonly int TATTOO = 14;
// public static readonly int PHYSICS = 15;
// public static readonly int MAX_WEARABLES = 16;
public static readonly int MAX_WEARABLES = 15; public static readonly int MAX_WEARABLES = 15;
public static readonly UUID DEFAULT_BODY_ITEM = new UUID("66c41e39-38f9-f75a-024e-585989bfaba9"); public static readonly UUID DEFAULT_BODY_ITEM = new UUID("66c41e39-38f9-f75a-024e-585989bfaba9");
@ -219,7 +224,7 @@ namespace OpenSim.Framework
{ {
get get
{ {
AvatarWearable[] defaultWearables = new AvatarWearable[MAX_WEARABLES]; //should be 15 of these AvatarWearable[] defaultWearables = new AvatarWearable[MAX_WEARABLES];
for (int i = 0; i < MAX_WEARABLES; i++) for (int i = 0; i < MAX_WEARABLES; i++)
{ {
defaultWearables[i] = new AvatarWearable(); defaultWearables[i] = new AvatarWearable();
@ -243,8 +248,11 @@ namespace OpenSim.Framework
// // Alpha // // Alpha
// defaultWearables[ALPHA].Add(DEFAULT_ALPHA_ITEM, DEFAULT_ALPHA_ASSET); // defaultWearables[ALPHA].Add(DEFAULT_ALPHA_ITEM, DEFAULT_ALPHA_ASSET);
// // Tattoo // // Tattoo
// defaultWearables[TATTOO].Add(DEFAULT_TATTOO_ITEM, DEFAULT_TATTOO_ASSET); // defaultWearables[TATTOO].Add(DEFAULT_TATTOO_ITEM, DEFAULT_TATTOO_ASSET);
// // Physics
// defaultWearables[PHYSICS].Add(DEFAULT_TATTOO_ITEM, DEFAULT_TATTOO_ASSET);
return defaultWearables; return defaultWearables;
} }

View File

@ -3533,7 +3533,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AvatarAppearancePacket avp = (AvatarAppearancePacket)PacketPool.Instance.GetPacket(PacketType.AvatarAppearance); AvatarAppearancePacket avp = (AvatarAppearancePacket)PacketPool.Instance.GetPacket(PacketType.AvatarAppearance);
// TODO: don't create new blocks if recycling an old packet // TODO: don't create new blocks if recycling an old packet
avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218]; avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[visualParams.Length];
avp.ObjectData.TextureEntry = textureEntry; avp.ObjectData.TextureEntry = textureEntry;
AvatarAppearancePacket.VisualParamBlock avblock = null; AvatarAppearancePacket.VisualParamBlock avblock = null;

View File

@ -162,10 +162,16 @@ namespace OpenSim.Services.Interfaces
} }
// Visual Params // Visual Params
string[] vps = new string[AvatarAppearance.VISUALPARAM_COUNT]; // string[] vps = new string[AvatarAppearance.VISUALPARAM_COUNT];
byte[] binary = appearance.VisualParams; // byte[] binary = appearance.VisualParams;
for (int i = 0 ; i < AvatarAppearance.VISUALPARAM_COUNT ; i++) // for (int i = 0 ; i < AvatarAppearance.VISUALPARAM_COUNT ; i++)
byte[] binary = appearance.VisualParams;
string[] vps = new string[binary.Length];
for (int i = 0; i < binary.Length; i++)
{ {
vps[i] = binary[i].ToString(); vps[i] = binary[i].ToString();
} }
@ -265,9 +271,13 @@ namespace OpenSim.Services.Interfaces
if (Data.ContainsKey("VisualParams")) if (Data.ContainsKey("VisualParams"))
{ {
string[] vps = Data["VisualParams"].Split(new char[] {','}); string[] vps = Data["VisualParams"].Split(new char[] {','});
byte[] binary = new byte[AvatarAppearance.VISUALPARAM_COUNT]; // byte[] binary = new byte[AvatarAppearance.VISUALPARAM_COUNT];
// for (int i = 0 ; i < vps.Length && i < binary.Length ; i++)
byte[] binary = new byte[vps.Length];
for (int i = 0; i < vps.Length; i++)
for (int i = 0 ; i < vps.Length && i < binary.Length ; i++)
binary[i] = (byte)Convert.ToInt32(vps[i]); binary[i] = (byte)Convert.ToInt32(vps[i]);
appearance.VisualParams = binary; appearance.VisualParams = binary;