diff options
author | diva | 2009-02-17 00:35:52 +0000 |
---|---|---|
committer | diva | 2009-02-17 00:35:52 +0000 |
commit | 7cc906213795fbe4878c0cfb8351272e847617e9 (patch) | |
tree | 861e1562c10feb985e2e04536d1268f993761ab6 /OpenSim/Region/Communications | |
parent | cleanup (diff) | |
download | opensim-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')
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); |