aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
authordiva2009-02-17 00:35:52 +0000
committerdiva2009-02-17 00:35:52 +0000
commit7cc906213795fbe4878c0cfb8351272e847617e9 (patch)
tree861e1562c10feb985e2e04536d1268f993761ab6 /OpenSim/Region/Communications
parentcleanup (diff)
downloadopensim-SC_OLD-7cc906213795fbe4878c0cfb8351272e847617e9.zip
opensim-SC_OLD-7cc906213795fbe4878c0cfb8351272e847617e9.tar.gz
opensim-SC_OLD-7cc906213795fbe4878c0cfb8351272e847617e9.tar.bz2
opensim-SC_OLD-7cc906213795fbe4878c0cfb8351272e847617e9.tar.xz
Major change to how appearance is managed, including changes in login and user service/server. Appearance is now sent by the user service/server along with all other loginparams. Regions don't query the user service for appearance anymore. The appearance is passed along from region to region as the avie moves around. And, as before, it's stored back with the user service as the client changes the avie's appearance. Child agents have default appearances that are set to the actual appearance when the avie moves to that region. (as before, child agents are invisible and non-physical).
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r--OpenSim/Region/Communications/Local/LocalBackEndServices.cs7
-rw-r--r--OpenSim/Region/Communications/Local/LocalLoginService.cs3
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1GridServices.cs6
3 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs
index 5df3c34..7ca29ca 100644
--- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs
+++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs
@@ -441,6 +441,13 @@ namespace OpenSim.Region.Communications.Local
441 agent.InventoryFolder = loginData.InventoryFolder; 441 agent.InventoryFolder = loginData.InventoryFolder;
442 agent.startpos = loginData.StartPos; 442 agent.startpos = loginData.StartPos;
443 agent.CapsPath = loginData.CapsPath; 443 agent.CapsPath = loginData.CapsPath;
444 if (agent.Appearance != null)
445 agent.Appearance = loginData.Appearance;
446 else
447 {
448 m_log.WarnFormat("[INTER]: Appearance not found for {0} {1}. Creating default.", agent.firstname, agent.lastname);
449 agent.Appearance = new AvatarAppearance();
450 }
444 451
445 TriggerExpectUser(regionHandle, agent); 452 TriggerExpectUser(regionHandle, agent);
446 } 453 }
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs
index 5de812c..4e0ed13 100644
--- a/OpenSim/Region/Communications/Local/LocalLoginService.cs
+++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs
@@ -359,6 +359,9 @@ namespace OpenSim.Region.Communications.Local
359 loginParams.StartPos = user.CurrentAgent.Position; 359 loginParams.StartPos = user.CurrentAgent.Position;
360 loginParams.CapsPath = capsPath; 360 loginParams.CapsPath = capsPath;
361 361
362 // Appearance
363 loginParams.Appearance = m_userManager.GetUserAppearance(user.ID);
364
362 if (m_gridService.RegionLoginsEnabled) 365 if (m_gridService.RegionLoginsEnabled)
363 { 366 {
364 handlerLoginToRegion = OnLoginToRegion; 367 handlerLoginToRegion = OnLoginToRegion;
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 0ec19a8..1da7621 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -610,9 +610,13 @@ namespace OpenSim.Region.Communications.OGS1
610 agentData.lastname = (string) requestData["lastname"]; 610 agentData.lastname = (string) requestData["lastname"];
611 agentData.AgentID = new UUID((string) requestData["agent_id"]); 611 agentData.AgentID = new UUID((string) requestData["agent_id"]);
612 agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); 612 agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]);
613 agentData.CapsPath = (string) requestData["caps_path"]; 613 agentData.CapsPath = (string)requestData["caps_path"];
614 ulong regionHandle = Convert.ToUInt64((string) requestData["regionhandle"]); 614 ulong regionHandle = Convert.ToUInt64((string) requestData["regionhandle"]);
615 615
616 // Appearance
617 if (requestData["appearance"] != null)
618 agentData.Appearance = new AvatarAppearance((Hashtable)requestData["appearance"]);
619
616 m_log.DebugFormat( 620 m_log.DebugFormat(
617 "[CLIENT]: Told by user service to prepare for a connection from {0} {1} {2}, circuit {3}", 621 "[CLIENT]: Told by user service to prepare for a connection from {0} {1} {2}, circuit {3}",
618 agentData.firstname, agentData.lastname, agentData.AgentID, agentData.circuitcode); 622 agentData.firstname, agentData.lastname, agentData.AgentID, agentData.circuitcode);