aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-12-08 18:34:23 +0000
committerJustin Clark-Casey (justincc)2011-12-08 18:34:23 +0000
commitf61e54892f2284b6f89bacf3069467c05b2eea11 (patch)
tree87cb0933707a8e02f920910c7669273232021470 /OpenSim/Region/OptionalModules
parentSimplify Scene.AddNewClient() (diff)
downloadopensim-SC_OLD-f61e54892f2284b6f89bacf3069467c05b2eea11.zip
opensim-SC_OLD-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.gz
opensim-SC_OLD-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.bz2
opensim-SC_OLD-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.xz
On a new client circuit, send the initial reply ack to let the client know it's live before sending other data.
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
Diffstat (limited to 'OpenSim/Region/OptionalModules')
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs8
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs5
2 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
index 380570b..70326b7 100644
--- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
+++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
@@ -55,6 +55,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
55 55
56 private UUID m_agentID = UUID.Random(); 56 private UUID m_agentID = UUID.Random();
57 57
58 public ISceneAgent SceneAgent { get; private set; }
59
58 private string m_username; 60 private string m_username;
59 private string m_nick; 61 private string m_nick;
60 62
@@ -547,6 +549,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
547 549
548 m_connected = false; 550 m_connected = false;
549 m_client.Close(); 551 m_client.Close();
552 SceneAgent = null;
550 } 553 }
551 554
552 public UUID SessionId 555 public UUID SessionId
@@ -890,12 +893,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
890 893
891 public void Start() 894 public void Start()
892 { 895 {
893 Scene.AddNewClient(this, PresenceType.User); 896 SceneAgent = m_scene.AddNewClient(this, PresenceType.User);
894 897
895 // Mimicking LLClientView which gets always set appearance from client. 898 // Mimicking LLClientView which gets always set appearance from client.
896 Scene scene = (Scene)Scene;
897 AvatarAppearance appearance; 899 AvatarAppearance appearance;
898 scene.GetAvatarAppearance(this, out appearance); 900 m_scene.GetAvatarAppearance(this, out appearance);
899 OnSetAppearance(this, appearance.Texture, (byte[])appearance.VisualParams.Clone()); 901 OnSetAppearance(this, appearance.Texture, (byte[])appearance.VisualParams.Clone());
900 } 902 }
901 903
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
index 152377a..ed60976 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
@@ -43,7 +43,6 @@ namespace OpenSim.Region.OptionalModules.World.NPC
43 private readonly UUID m_uuid = UUID.Random(); 43 private readonly UUID m_uuid = UUID.Random();
44 private readonly Scene m_scene; 44 private readonly Scene m_scene;
45 45
46
47 public NPCAvatar(string firstname, string lastname, Vector3 position, Scene scene) 46 public NPCAvatar(string firstname, string lastname, Vector3 position, Scene scene)
48 { 47 {
49 m_firstname = firstname; 48 m_firstname = firstname;
@@ -57,6 +56,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC
57 get { return m_scene; } 56 get { return m_scene; }
58 } 57 }
59 58
59 public ISceneAgent SceneAgent { get { throw new NotImplementedException(); } }
60
60 public void Say(string message) 61 public void Say(string message)
61 { 62 {
62 SendOnChatFromClient(message, ChatTypeEnum.Say); 63 SendOnChatFromClient(message, ChatTypeEnum.Say);
@@ -841,6 +842,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC
841 842
842 public void Start() 843 public void Start()
843 { 844 {
845 // We never start the client, so always fail.
846 throw new NotImplementedException();
844 } 847 }
845 848
846 public void Stop() 849 public void Stop()