diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 30 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 4 |
2 files changed, 9 insertions, 25 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 0df4585..ab1c206 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -183,7 +183,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
183 | }); | 183 | }); |
184 | } | 184 | } |
185 | 185 | ||
186 | // m_log.WarnFormat("[AVFACTORY]: Complete texture check for {0}",client.AgentId); | 186 | m_log.WarnFormat("[AVFACTORY]: Complete texture check for {0}",client.AgentId); |
187 | } | 187 | } |
188 | 188 | ||
189 | // Process the visual params, this may change height as well | 189 | // Process the visual params, this may change height as well |
@@ -196,12 +196,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
196 | sp.SetHeight(sp.Appearance.AvatarHeight); | 196 | sp.SetHeight(sp.Appearance.AvatarHeight); |
197 | } | 197 | } |
198 | } | 198 | } |
199 | |||
200 | // Send the appearance back to the avatar, not clear that this is needed | ||
201 | sp.ControllingClient.SendAvatarDataImmediate(sp); | ||
202 | // AvatarAppearance avp = sp.Appearance; | ||
203 | // sp.ControllingClient.SendAppearance(avp.Owner,avp.VisualParams,avp.Texture.GetBytes()); | ||
204 | |||
205 | } | 199 | } |
206 | 200 | ||
207 | 201 | ||
@@ -274,21 +268,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
274 | 268 | ||
275 | // Send the appearance to everyone in the scene | 269 | // Send the appearance to everyone in the scene |
276 | sp.SendAppearanceToAllOtherAgents(); | 270 | sp.SendAppearanceToAllOtherAgents(); |
277 | // sp.ControllingClient.SendAvatarDataImmediate(sp); | ||
278 | |||
279 | // Send the appearance back to the avatar | ||
280 | // AvatarAppearance avp = sp.Appearance; | ||
281 | // sp.ControllingClient.SendAppearance(avp.Owner, avp.VisualParams, avp.Texture.GetBytes()); | ||
282 | |||
283 | /* | ||
284 | // this needs to be fixed, the flag should be on scene presence not the region module | ||
285 | // Start the animations if necessary | ||
286 | if (!m_startAnimationSet) | ||
287 | { | ||
288 | sp.Animator.UpdateMovementAnimations(); | ||
289 | m_startAnimationSet = true; | ||
290 | } | ||
291 | */ | ||
292 | } | 271 | } |
293 | 272 | ||
294 | private void HandleAppearanceSave(UUID agentid) | 273 | private void HandleAppearanceSave(UUID agentid) |
@@ -374,6 +353,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
374 | 353 | ||
375 | // m_log.WarnFormat("[AVFACTORY]: AvatarIsWearing called for {0}", client.AgentId); | 354 | // m_log.WarnFormat("[AVFACTORY]: AvatarIsWearing called for {0}", client.AgentId); |
376 | 355 | ||
356 | // operate on a copy of the appearance so we don't have to lock anything | ||
377 | AvatarAppearance avatAppearance = new AvatarAppearance(sp.Appearance, false); | 357 | AvatarAppearance avatAppearance = new AvatarAppearance(sp.Appearance, false); |
378 | 358 | ||
379 | foreach (AvatarWearingArgs.Wearable wear in e.NowWearing) | 359 | foreach (AvatarWearingArgs.Wearable wear in e.NowWearing) |
@@ -388,9 +368,11 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
388 | SetAppearanceAssets(sp.UUID, ref avatAppearance); | 368 | SetAppearanceAssets(sp.UUID, ref avatAppearance); |
389 | 369 | ||
390 | // could get fancier with the locks here, but in the spirit of "last write wins" | 370 | // could get fancier with the locks here, but in the spirit of "last write wins" |
391 | // this should work correctly | 371 | // this should work correctly, also, we don't need to send the appearance here |
372 | // since the "iswearing" will trigger a new set of visual param and baked texture changes | ||
373 | // when those complete, the new appearance will be sent | ||
392 | sp.Appearance = avatAppearance; | 374 | sp.Appearance = avatAppearance; |
393 | m_scene.AvatarService.SetAppearance(client.AgentId, sp.Appearance); | 375 | QueueAppearanceSave(client.AgentId); |
394 | } | 376 | } |
395 | 377 | ||
396 | private void SetAppearanceAssets(UUID userID, ref AvatarAppearance appearance) | 378 | private void SetAppearanceAssets(UUID userID, ref AvatarAppearance appearance) |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index f02a922..b57dc88 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -903,8 +903,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
903 | } | 903 | } |
904 | 904 | ||
905 | agent.MakeChildAgent(); | 905 | agent.MakeChildAgent(); |
906 | |||
906 | // now we have a child agent in this region. Request all interesting data about other (root) agents | 907 | // now we have a child agent in this region. Request all interesting data about other (root) agents |
907 | agent.SendInitialFullUpdateToAllClients(); | 908 | agent.SendOtherAgentsAvatarDataToMe(); |
909 | agent.SendOtherAgentsAppearanceToMe(); | ||
908 | 910 | ||
909 | CrossAttachmentsIntoNewRegion(neighbourRegion, agent, true); | 911 | CrossAttachmentsIntoNewRegion(neighbourRegion, agent, true); |
910 | 912 | ||