diff options
author | MW | 2007-08-21 18:11:45 +0000 |
---|---|---|
committer | MW | 2007-08-21 18:11:45 +0000 |
commit | 0e6f57a3038e54cb1a2f229ebaae0cf8ee05b7ea (patch) | |
tree | daac6856dc6a72211f7eefaa27f19041d9dc7fb0 /OpenSim | |
parent | Old group is now deleted from datastore when you link groups/prims, so that t... (diff) | |
download | opensim-SC-0e6f57a3038e54cb1a2f229ebaae0cf8ee05b7ea.zip opensim-SC-0e6f57a3038e54cb1a2f229ebaae0cf8ee05b7ea.tar.gz opensim-SC-0e6f57a3038e54cb1a2f229ebaae0cf8ee05b7ea.tar.bz2 opensim-SC-0e6f57a3038e54cb1a2f229ebaae0cf8ee05b7ea.tar.xz |
Hopefully fixed the problem of users avatars not always showing up when either you or another user has crossed from one region to another. (however a avatar's appearance isn't kept across regions, but we need to add that to inter-regions communications so for now people will have to put up with some other user's avatars appearing as the bald(ish) fat man
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 16 |
2 files changed, 19 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index f674ce2..cdf6788 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -883,6 +883,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
883 | return false; | 883 | return false; |
884 | } | 884 | } |
885 | 885 | ||
886 | public void SendKillObject(uint localID) | ||
887 | { | ||
888 | List<ScenePresence> avatars = this.RequestAvatarList(); | ||
889 | for (int i = 0; i < avatars.Count; i++) | ||
890 | { | ||
891 | avatars[i].ControllingClient.SendKillObject(this.m_regionHandle, localID); | ||
892 | } | ||
893 | } | ||
894 | |||
886 | public void SendAllSceneObjectsToClient(IClientAPI client) | 895 | public void SendAllSceneObjectsToClient(IClientAPI client) |
887 | { | 896 | { |
888 | foreach (EntityBase ent in Entities.Values) | 897 | foreach (EntityBase ent in Entities.Values) |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 73e9d48..47f991c 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -461,8 +461,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
461 | this.SendFullUpdateToOtherClient(avatar); | 461 | this.SendFullUpdateToOtherClient(avatar); |
462 | if (avatar.LocalId != this.LocalId) | 462 | if (avatar.LocalId != this.LocalId) |
463 | { | 463 | { |
464 | avatar.SendFullUpdateToOtherClient(this); | 464 | if (!avatar.childAgent) |
465 | avatar.SendAppearanceToOtherAgent(this); | 465 | { |
466 | avatar.SendFullUpdateToOtherClient(this); | ||
467 | avatar.SendAppearanceToOtherAgent(this); | ||
468 | } | ||
466 | } | 469 | } |
467 | } | 470 | } |
468 | } | 471 | } |
@@ -479,8 +482,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
479 | this.newAvatar = false; | 482 | this.newAvatar = false; |
480 | } | 483 | } |
481 | 484 | ||
482 | // this.SendFullUpdateToALLClients(); | 485 | this.SendFullUpdateToALLClients(); |
483 | // this.SendArrearanceToAllOtherAgents(); | 486 | this.SendArrearanceToAllOtherAgents(); |
484 | } | 487 | } |
485 | 488 | ||
486 | /// <summary> | 489 | /// <summary> |
@@ -491,8 +494,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
491 | { | 494 | { |
492 | this.ControllingClient.SendWearables(this.Wearables); | 495 | this.ControllingClient.SendWearables(this.Wearables); |
493 | 496 | ||
494 | this.SendFullUpdateToALLClients(); | 497 | //this.SendFullUpdateToALLClients(); |
495 | this.SendArrearanceToAllOtherAgents(); | 498 | //this.SendArrearanceToAllOtherAgents(); |
496 | 499 | ||
497 | this.m_scene.SendAllSceneObjectsToClient(this.ControllingClient); | 500 | this.m_scene.SendAllSceneObjectsToClient(this.ControllingClient); |
498 | this.ControllingClient.SendViewerTime(this.m_scene.TimePhase); | 501 | this.ControllingClient.SendViewerTime(this.m_scene.TimePhase); |
@@ -638,6 +641,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
638 | string capsPath = Util.GetCapsURL(this.ControllingClient.AgentId); | 641 | string capsPath = Util.GetCapsURL(this.ControllingClient.AgentId); |
639 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, capsPath); | 642 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, capsPath); |
640 | this.MakeChildAgent(); | 643 | this.MakeChildAgent(); |
644 | this.m_scene.SendKillObject(this.m_localId); | ||
641 | } | 645 | } |
642 | } | 646 | } |
643 | } | 647 | } |