aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
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/Agent/InternetRelayClientView/Server/IRCClientView.cs
parentSimplify Scene.AddNewClient() (diff)
downloadopensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.zip
opensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.gz
opensim-SC-f61e54892f2284b6f89bacf3069467c05b2eea11.tar.bz2
opensim-SC-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/Agent/InternetRelayClientView/Server/IRCClientView.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs8
1 files changed, 5 insertions, 3 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