diff options
author | John Hurliman | 2009-09-30 15:53:03 -0700 |
---|---|---|
committer | John Hurliman | 2009-09-30 15:53:03 -0700 |
commit | 5dfd2643dfc530280e5dcd0056b59add7d49f313 (patch) | |
tree | 1e508a2e9be42eda630f0b97c4fac9606a288a7e /OpenSim/Region/OptionalModules | |
parent | Prevent null data being sent to the decoder (diff) | |
download | opensim-SC-5dfd2643dfc530280e5dcd0056b59add7d49f313.zip opensim-SC-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.gz opensim-SC-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.bz2 opensim-SC-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.xz |
* 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
Diffstat (limited to 'OpenSim/Region/OptionalModules')
-rw-r--r-- | OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | 8 |
2 files changed, 2 insertions, 13 deletions
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 2316267..57f5d29 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -861,12 +861,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
861 | Scene scene = (Scene)Scene; | 861 | Scene scene = (Scene)Scene; |
862 | AvatarAppearance appearance; | 862 | AvatarAppearance appearance; |
863 | scene.GetAvatarAppearance(this, out appearance); | 863 | scene.GetAvatarAppearance(this, out appearance); |
864 | List<byte> visualParams = new List<byte>(); | 864 | OnSetAppearance(appearance.Texture, (byte[])appearance.VisualParams.Clone()); |
865 | foreach (byte visualParam in appearance.VisualParams) | ||
866 | { | ||
867 | visualParams.Add(visualParam); | ||
868 | } | ||
869 | OnSetAppearance(appearance.Texture.GetBytes(), visualParams); | ||
870 | } | 865 | } |
871 | 866 | ||
872 | public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args) | 867 | public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args) |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index b3bfe07..30a2675 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | |||
@@ -163,13 +163,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
163 | { | 163 | { |
164 | AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene); | 164 | AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene); |
165 | 165 | ||
166 | List<byte> wearbyte = new List<byte>(); | 166 | sp.SetAppearance(x.Texture, (byte[])x.VisualParams.Clone()); |
167 | for (int i = 0; i < x.VisualParams.Length; i++) | ||
168 | { | ||
169 | wearbyte.Add(x.VisualParams[i]); | ||
170 | } | ||
171 | |||
172 | sp.SetAppearance(x.Texture.GetBytes(), wearbyte); | ||
173 | } | 167 | } |
174 | 168 | ||
175 | m_avatars.Add(npcAvatar.AgentId, npcAvatar); | 169 | m_avatars.Add(npcAvatar.AgentId, npcAvatar); |