diff options
Adds support for preserving animations on region crossings and TPs.
Known issue: after TP, the self client doesn't see the animations going, but others can see them. So there's a bug there (TPs only, crossings seem to be all fine).
Untested: did not test animation overriders; only tested playing animations from the viewer.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 4c10e2c..d0156e1 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -904,6 +904,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
904 | avatar.Close(); | 904 | avatar.Close(); |
905 | CloseConnection(avatar.UUID); | 905 | CloseConnection(avatar.UUID); |
906 | } | 906 | } |
907 | else | ||
908 | // now we have a child agent in this region. | ||
909 | avatar.Reset(); | ||
910 | |||
907 | 911 | ||
908 | // if (teleport success) // seems to be always success here | 912 | // if (teleport success) // seems to be always success here |
909 | // the user may change their profile information in other region, | 913 | // the user may change their profile information in other region, |
@@ -1180,8 +1184,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1180 | // If the cross was successful, this agent is a child agent | 1184 | // If the cross was successful, this agent is a child agent |
1181 | if (agent.IsChildAgent) | 1185 | if (agent.IsChildAgent) |
1182 | { | 1186 | { |
1183 | // Put the child agent back at the center | 1187 | agent.Reset(); |
1184 | agent.AbsolutePosition = new Vector3(128, 128, 70); | ||
1185 | } | 1188 | } |
1186 | else // Not successful | 1189 | else // Not successful |
1187 | { | 1190 | { |