diff --git a/LibreMetaverse/AppearanceManager.cs b/LibreMetaverse/AppearanceManager.cs index 0b51859..17c7406 100644 --- a/LibreMetaverse/AppearanceManager.cs +++ b/LibreMetaverse/AppearanceManager.cs @@ -2249,7 +2249,7 @@ namespace OpenMetaverse break; } - if (vpIndex <= nrParams) break; + if (vpIndex >= nrParams) break; } MyVisualParameters = new byte[set.VisualParam.Length]; @@ -2269,9 +2269,16 @@ namespace OpenMetaverse for (uint i = 0; i < Textures.Length; i++) { - Primitive.TextureEntryFace face = te.CreateFace(i); - face.TextureID = Textures[i].TextureID; - Logger.DebugLog("Sending texture entry for " + (AvatarTextureIndex)i + " to " + Textures[i].TextureID, Client); + if (Textures[i].TextureID != UUID.Zero) + { + Primitive.TextureEntryFace face = te.CreateFace(i); + face.TextureID = Textures[i].TextureID; + Logger.DebugLog("Sending texture entry for " + (AvatarTextureIndex)i + " to " + Textures[i].TextureID, Client); + } + else + { + Logger.DebugLog("Skipping texture entry for " + (AvatarTextureIndex)i + " its null", Client); + } } set.ObjectData.TextureEntry = te.GetBytes(); diff --git a/LibreMetaverse/Settings.cs b/LibreMetaverse/Settings.cs index d1a2613..a30e1e9 100644 --- a/LibreMetaverse/Settings.cs +++ b/LibreMetaverse/Settings.cs @@ -347,7 +347,7 @@ namespace OpenMetaverse /// You will get no output on the console. This behavior can be overriden by creating /// a logger configuration file for log4net /// - public static Helpers.LogLevel LOG_LEVEL = Helpers.LogLevel.None; + public static Helpers.LogLevel LOG_LEVEL = Helpers.LogLevel.Debug; /// Attach avatar names to log messages public bool LOG_NAMES = true; diff --git a/LibreMetaverse/TerrainManager.cs b/LibreMetaverse/TerrainManager.cs index 47dd5ec..b2afd61 100644 --- a/LibreMetaverse/TerrainManager.cs +++ b/LibreMetaverse/TerrainManager.cs @@ -25,6 +25,7 @@ */ using System; +using System.Collections.Generic; using OpenMetaverse.Packets; namespace OpenMetaverse @@ -152,6 +153,7 @@ namespace OpenMetaverse // FIXME: } + protected List suppressWarningTypes = new List(); private void LayerDataHandler(object sender, PacketReceivedEventArgs e) { LayerDataPacket layer = (LayerDataPacket)e.Packet; @@ -182,7 +184,11 @@ namespace OpenMetaverse DecompressCloud(e.Simulator, bitpack, header); break; default: - Logger.Log("Unrecognized LayerData type " + type, Helpers.LogLevel.Warning, Client); + if (suppressWarningTypes.Contains(type) == false) + { + suppressWarningTypes.Add(type); + Logger.Log("Unrecognized LayerData type " + type + " - Suppressing repeated messages", Helpers.LogLevel.Warning, Client); + } break; } }