diff options
author | Justin Clark-Casey (justincc) | 2011-12-08 18:34:23 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-12-08 18:34:23 +0000 |
commit | f61e54892f2284b6f89bacf3069467c05b2eea11 (patch) | |
tree | 87cb0933707a8e02f920910c7669273232021470 /OpenSim/Region/OptionalModules/Agent/InternetRelayClientView | |
parent | Simplify Scene.AddNewClient() (diff) | |
download | opensim-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/Agent/InternetRelayClientView')
-rw-r--r-- | OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | 8 |
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 | ||