aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs86
1 files changed, 39 insertions, 47 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 8fae032..5acd51e 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1823,12 +1823,12 @@ namespace OpenSim.Region.Framework.Scenes
1823 Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI); 1823 Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI);
1824 m_callbackURI = null; 1824 m_callbackURI = null;
1825 } 1825 }
1826 // else 1826// else
1827 // { 1827// {
1828 // m_log.DebugFormat( 1828// m_log.DebugFormat(
1829 // "[SCENE PRESENCE]: No callback provided on CompleteMovement of {0} {1} to {2}", 1829// "[SCENE PRESENCE]: No callback provided on CompleteMovement of {0} {1} to {2}",
1830 // client.Name, client.AgentId, m_scene.RegionInfo.RegionName); 1830// client.Name, client.AgentId, m_scene.RegionInfo.RegionName);
1831 // } 1831// }
1832 1832
1833 m_previusParcelHide = false; 1833 m_previusParcelHide = false;
1834 m_previusParcelUUID = UUID.Zero; 1834 m_previusParcelUUID = UUID.Zero;
@@ -1838,59 +1838,51 @@ namespace OpenSim.Region.Framework.Scenes
1838 // send initial land overlay and parcel 1838 // send initial land overlay and parcel
1839 ILandChannel landch = m_scene.LandChannel; 1839 ILandChannel landch = m_scene.LandChannel;
1840 if (landch != null) 1840 if (landch != null)
1841 {
1842 landch.sendClientInitialLandInfo(client); 1841 landch.sendClientInitialLandInfo(client);
1843 if (!IsChildAgent)
1844 {
1845 newhide = m_currentParcelHide;
1846 m_currentParcelHide = false;
1847 }
1848 }
1849
1850 // send agentData to all clients including us (?)
1851 // get appearance
1852 // if in cache sent it to all clients
1853 // send what we have to us, even if not in cache ( bad? )
1854 ValidateAndSendAppearanceAndAgentData();
1855 1842
1856 // attachments 1843 if (!IsChildAgent)
1857 if (isNPC || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
1858 { 1844 {
1859 if (Scene.AttachmentsModule != null) 1845 newhide = m_currentParcelHide;
1846 m_currentParcelHide = false;
1847
1848 ValidateAndSendAppearanceAndAgentData();
1849
1850 // attachments
1851 if (isNPC || (TeleportFlags & TeleportFlags.ViaLogin) != 0)
1852 {
1853 if (Scene.AttachmentsModule != null)
1860// Util.FireAndForget( 1854// Util.FireAndForget(
1861// o => 1855// o =>
1862// { 1856// {
1863 Scene.AttachmentsModule.RezAttachments(this); 1857 Scene.AttachmentsModule.RezAttachments(this);
1864// }); 1858 // });
1865 } 1859 }
1866 else 1860 else
1867 {
1868 List<SceneObjectGroup> attachments = GetAttachments();
1869
1870 if (attachments.Count > 0)
1871 { 1861 {
1872 m_log.DebugFormat( 1862 List<SceneObjectGroup> attachments = GetAttachments();
1873 "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
1874 1863
1875 // Resume scripts this possible should also be moved down after sending the avatar to viewer ? 1864 if (attachments.Count > 0)
1876 foreach (SceneObjectGroup sog in attachments)
1877 { 1865 {
1878 sog.ScheduleGroupForFullUpdate(); 1866 m_log.DebugFormat(
1879 sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); 1867 "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name);
1880 sog.ResumeScripts(); 1868
1869 // Resume scripts this possible should also be moved down after sending the avatar to viewer ?
1870 foreach (SceneObjectGroup sog in attachments)
1871 {
1872 sog.ScheduleGroupForFullUpdate();
1873 sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource());
1874 sog.ResumeScripts();
1875 }
1881 } 1876 }
1882 } 1877 }
1883 }
1884 // m_log.DebugFormat(
1885 // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",
1886 // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds);
1887 1878
1888 // Create child agents in neighbouring regions 1879 // Create child agents in neighbouring regions
1889 if (openChildAgents && !IsChildAgent) 1880 if (openChildAgents)
1890 { 1881 {
1891 IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); 1882 IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
1892 if (m_agentTransfer != null) 1883 if (m_agentTransfer != null)
1893 m_agentTransfer.EnableChildAgents(this); 1884 m_agentTransfer.EnableChildAgents(this);
1885 }
1894 } 1886 }
1895 1887
1896 // send the rest of the world 1888 // send the rest of the world