From 77e43f480154b0a950d9d5f54df5c225fc64e77a Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 11 Jan 2010 17:30:05 -0800 Subject: Fixed a couple of bugs with Appearance. Appearance is all good now. --- .../RemoteController/RemoteAdminPlugin.cs | 4 +- .../Rest/Inventory/RestAppearanceServices.cs | 4 +- .../Client/MXP/PacketHandler/MXPPacketServer.cs | 2 +- OpenSim/Region/Application/OpenSimBase.cs | 1 - .../Region/ClientStack/LindenUDP/LLClientView.cs | 1 + .../Avatar/AvatarFactory/AvatarFactoryModule.cs | 17 +-- .../Avatar/LocalAvatarServiceConnector.cs | 10 +- OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 4 +- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- .../Framework/Scenes/SceneCommunicationService.cs | 4 +- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 + .../Region/OptionalModules/World/NPC/NPCModule.cs | 2 +- OpenSim/Services/AvatarService/AvatarService.cs | 6 + OpenSim/Services/Interfaces/IAvatarService.cs | 123 ++++++++++++++------- OpenSim/Services/LLLoginService/LLLoginService.cs | 2 +- bin/config-include/StandaloneHypergrid.ini | 6 + 16 files changed, 124 insertions(+), 68 deletions(-) diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index d9458af..457177d 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs @@ -1397,7 +1397,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController AvatarAppearance ava = null; AvatarData avatar = m_app.SceneManager.CurrentOrFirstScene.AvatarService.GetAvatar(srca); if (avatar != null) - ava = avatar.ToAvatarAppearance(); + ava = avatar.ToAvatarAppearance(srca); // If the model has no associated appearance we're done. @@ -1639,7 +1639,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController // While the inventory is being fetched, setup for appearance processing AvatarData adata = m_app.SceneManager.CurrentOrFirstScene.AvatarService.GetAvatar(ID); if (adata != null) - mava = adata.ToAvatarAppearance(); + mava = adata.ToAvatarAppearance(ID); else mava = new AvatarAppearance(); diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs index 5429890..b70a511 100644 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs +++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs @@ -304,7 +304,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory String.Format("appearance data not found for user {0} {1}", rdata.userProfile.FirstName, rdata.userProfile.SurName)); } - rdata.userAppearance = adata.ToAvatarAppearance(); + rdata.userAppearance = adata.ToAvatarAppearance(rdata.userProfile.ID); rdata.initXmlWriter(); @@ -446,7 +446,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory if (adata != null) { - AvatarAppearance old = adata.ToAvatarAppearance(); + AvatarAppearance old = adata.ToAvatarAppearance(rdata.userProfile.ID); rdata.userAppearance = new AvatarAppearance(); rdata.userAppearance.Owner = old.Owner; adata = new AvatarData(rdata.userAppearance); diff --git a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs index c4b3dda..821aea2 100644 --- a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs +++ b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs @@ -536,7 +536,7 @@ namespace OpenSim.Client.MXP.PacketHandler agent.CapsPath = "http://localhost/"; AvatarData avatar = scene.AvatarService.GetAvatar(account.PrincipalID); if (avatar != null) - agent.Appearance = avatar.ToAvatarAppearance(); //userService.GetUserAppearance(userProfile.ID); + agent.Appearance = avatar.ToAvatarAppearance(account.PrincipalID); //userService.GetUserAppearance(userProfile.ID); if (agent.Appearance == null) { diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index c6932cf..f3f715a 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -197,7 +197,6 @@ namespace OpenSim LoadPlugins(); foreach (IApplicationPlugin plugin in m_plugins) { - m_log.Debug("XXX PostInitialise " + plugin.Name); plugin.PostInitialise(); } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 795b099..b937226 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -5474,6 +5474,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // for the client session anyway, in order to protect ourselves against bad code in plugins try { + byte[] visualparams = new byte[appear.VisualParam.Length]; for (int i = 0; i < appear.VisualParam.Length; i++) visualparams[i] = appear.VisualParam[i].ParamValue; diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 87d0b0d..c01d66a 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -50,7 +50,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory //if ((profile != null) && (profile.RootFolder != null)) if (avatar != null) { - appearance = avatar.ToAvatarAppearance(); + appearance = avatar.ToAvatarAppearance(avatarId); return true; } @@ -153,6 +153,8 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory /// public void AvatarIsWearing(Object sender, AvatarWearingArgs e) { + m_log.DebugFormat("[APPEARANCE]: AvatarIsWearing"); + IClientAPI clientView = (IClientAPI)sender; ScenePresence sp = m_scene.GetScenePresence(clientView.AgentId); @@ -162,12 +164,12 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory return; } - AvatarAppearance avatAppearance = null; - if (!TryGetAvatarAppearance(clientView.AgentId, out avatAppearance)) - { - m_log.Warn("[APPEARANCE]: We didn't seem to find the appearance, falling back to ScenePresence"); - avatAppearance = sp.Appearance; - } + AvatarAppearance avatAppearance = sp.Appearance; + //if (!TryGetAvatarAppearance(clientView.AgentId, out avatAppearance)) + //{ + // m_log.Warn("[APPEARANCE]: We didn't seem to find the appearance, falling back to ScenePresence"); + // avatAppearance = sp.Appearance; + //} //m_log.DebugFormat("[APPEARANCE]: Received wearables for {0}", clientView.Name); @@ -194,6 +196,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory public void UpdateDatabase(UUID user, AvatarAppearance appearance) { + m_log.DebugFormat("[APPEARANCE]: UpdateDatabase"); AvatarData adata = new AvatarData(appearance); m_scene.AvatarService.SetAvatar(user, adata); diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Avatar/LocalAvatarServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Avatar/LocalAvatarServiceConnector.cs index 0c8ee61..47f19a3 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Avatar/LocalAvatarServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Avatar/LocalAvatarServiceConnector.cs @@ -72,7 +72,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar IConfig userConfig = source.Configs["AvatarService"]; if (userConfig == null) { - m_log.Error("[USER CONNECTOR]: AvatarService missing from OpenSim.ini"); + m_log.Error("[AVATAR CONNECTOR]: AvatarService missing from OpenSim.ini"); return; } @@ -81,7 +81,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar if (serviceDll == String.Empty) { - m_log.Error("[USER CONNECTOR]: No LocalServiceModule named in section AvatarService"); + m_log.Error("[AVATAR CONNECTOR]: No LocalServiceModule named in section AvatarService"); return; } @@ -92,11 +92,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar if (m_AvatarService == null) { - m_log.Error("[USER CONNECTOR]: Can't load user account service"); + m_log.Error("[AVATAR CONNECTOR]: Can't load user account service"); return; } m_Enabled = true; - m_log.Info("[USER CONNECTOR]: Local avatar connector enabled"); + m_log.Info("[AVATAR CONNECTOR]: Local avatar connector enabled"); } } } @@ -118,7 +118,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Avatar if (!m_Enabled) return; - scene.RegisterModuleInterface(m_AvatarService); + scene.RegisterModuleInterface(this); } public void RemoveRegion(Scene scene) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 3f71715..70aea75 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -2358,7 +2358,7 @@ namespace OpenSim.Region.Framework.Scenes InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); item = InventoryService.GetItem(item); - presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); + presence.Appearance.SetAttachment((int)AttachmentPt, itemID, /*item.AssetID*/ att.UUID); } return att.UUID; } @@ -2403,7 +2403,7 @@ namespace OpenSim.Region.Framework.Scenes // XXYY!! InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); item = InventoryService.GetItem(item); - presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); + presence.Appearance.SetAttachment((int)AttachmentPt, itemID, /*item.AssetID*/ att.UUID); if (m_AvatarFactory != null) { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index db0da34..db7b3ff 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -300,7 +300,7 @@ namespace OpenSim.Region.Framework.Scenes get { if (m_AvatarService == null) - m_AvatarService = RequestModuleInterface(); + m_AvatarService = RequestModuleInterface(); return m_AvatarService; } } diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 7d9b427..11cb8cd 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs @@ -250,7 +250,7 @@ namespace OpenSim.Region.Framework.Scenes { InformClientOfNeighbourDelegate icon = (InformClientOfNeighbourDelegate) iar.AsyncState; icon.EndInvoke(iar); - m_log.WarnFormat(" --> InformClientOfNeighbourCompleted"); + //m_log.WarnFormat(" --> InformClientOfNeighbourCompleted"); } /// @@ -456,7 +456,7 @@ namespace OpenSim.Region.Framework.Scenes int count = 0; foreach (GridRegion neighbour in neighbours) { - m_log.WarnFormat("--> Going to send child agent to {0}", neighbour.RegionName); + //m_log.WarnFormat("--> Going to send child agent to {0}", neighbour.RegionName); // Don't do it if there's already an agent in that region if (newRegions.Contains(neighbour.RegionHandle)) newAgent = true; diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 47eaa95..ae586a1 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2565,14 +2565,18 @@ namespace OpenSim.Region.Framework.Scenes } } } + } + #endregion Bake Cache Check m_appearance.SetAppearance(textureEntry, visualParams); if (m_appearance.AvatarHeight > 0) SetHeight(m_appearance.AvatarHeight); + AvatarData adata = new AvatarData(m_appearance); + m_scene.AvatarService.SetAvatar(m_controllingClient.AgentId, adata); SendAppearanceToAllOtherAgents(); diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index a6d4a93..6e742f1 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs @@ -67,7 +67,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC AvatarData adata = scene.AvatarService.GetAvatar(target); if (adata != null) { - AvatarAppearance x = adata.ToAvatarAppearance(); + AvatarAppearance x = adata.ToAvatarAppearance(target); m_appearanceCache.Add(target, x); diff --git a/OpenSim/Services/AvatarService/AvatarService.cs b/OpenSim/Services/AvatarService/AvatarService.cs index 0b351a2..19e662c 100644 --- a/OpenSim/Services/AvatarService/AvatarService.cs +++ b/OpenSim/Services/AvatarService/AvatarService.cs @@ -73,6 +73,12 @@ namespace OpenSim.Services.AvatarService public bool SetAvatar(UUID principalID, AvatarData avatar) { + int count = 0; + foreach (KeyValuePair kvp in avatar.Data) + if (kvp.Key.StartsWith("_")) + count++; + + m_log.DebugFormat("[AVATAR SERVICE]: SetAvatar for {0}, attachs={1}", principalID, count); m_Database.Delete("PrincipalID", principalID.ToString()); AvatarBaseData av = new AvatarBaseData(); diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs index ea08ea5..564c406 100644 --- a/OpenSim/Services/Interfaces/IAvatarService.cs +++ b/OpenSim/Services/Interfaces/IAvatarService.cs @@ -131,17 +131,15 @@ namespace OpenSim.Services.Interfaces AvatarType = 1; // SL avatars Data = new Dictionary(); + Data["Serial"] = appearance.Serial.ToString(); // Wearables Data["AvatarHeight"] = appearance.AvatarHeight.ToString(); Data["BodyItem"] = appearance.BodyItem.ToString(); Data["EyesItem"] = appearance.EyesItem.ToString(); Data["GlovesItem"] = appearance.GlovesItem.ToString(); Data["HairItem"] = appearance.HairItem.ToString(); - //Data["HipOffset"] = appearance.HipOffset.ToString(); Data["JacketItem"] = appearance.JacketItem.ToString(); - Data["Owner"] = appearance.Owner.ToString(); Data["PantsItem"] = appearance.PantsItem.ToString(); - Data["Serial"] = appearance.Serial.ToString(); Data["ShirtItem"] = appearance.ShirtItem.ToString(); Data["ShoesItem"] = appearance.ShoesItem.ToString(); Data["SkinItem"] = appearance.SkinItem.ToString(); @@ -150,53 +148,92 @@ namespace OpenSim.Services.Interfaces Data["UnderPantsItem"] = appearance.UnderPantsItem.ToString(); Data["UnderShirtItem"] = appearance.UnderShirtItem.ToString(); + Data["BodyAsset"] = appearance.BodyAsset.ToString(); + Data["EyesAsset"] = appearance.EyesAsset.ToString(); + Data["GlovesAsset"] = appearance.GlovesAsset.ToString(); + Data["HairAsset"] = appearance.HairAsset.ToString(); + Data["JacketAsset"] = appearance.JacketAsset.ToString(); + Data["PantsAsset"] = appearance.PantsAsset.ToString(); + Data["ShirtAsset"] = appearance.ShirtAsset.ToString(); + Data["ShoesAsset"] = appearance.ShoesAsset.ToString(); + Data["SkinAsset"] = appearance.SkinAsset.ToString(); + Data["SkirtAsset"] = appearance.SkirtAsset.ToString(); + Data["SocksAsset"] = appearance.SocksAsset.ToString(); + Data["UnderPantsAsset"] = appearance.UnderPantsAsset.ToString(); + Data["UnderShirtAsset"] = appearance.UnderShirtAsset.ToString(); + // Attachments Hashtable attachs = appearance.GetAttachments(); - foreach (KeyValuePair kvp in attachs) - { - Data["_ap_" + kvp.Key] = kvp.Value["item"].ToString(); - } + if (attachs != null) + foreach (DictionaryEntry dentry in attachs) + { + if (dentry.Value != null) + { + Hashtable tab = (Hashtable)dentry.Value; + if (tab.ContainsKey("item") && tab["item"] != null) + Data["_ap_" + dentry.Key] = tab["item"].ToString(); + } + } } - public AvatarAppearance ToAvatarAppearance() + public AvatarAppearance ToAvatarAppearance(UUID owner) { - AvatarAppearance appearance = new AvatarAppearance(); - // Wearables - appearance.AvatarHeight = float.Parse(Data["AvatarHeight"]); - appearance.BodyItem = UUID.Parse(Data["BodyItem"]); - appearance.EyesItem = UUID.Parse(Data["EyesItem"]); - appearance.GlovesItem = UUID.Parse(Data["GlovesItem"]); - appearance.HairItem = UUID.Parse(Data["HairItem"]); - //appearance.HipOffset = float.Parse(Data["HipOffset"]); - appearance.JacketItem = UUID.Parse(Data["JacketItem"]); - appearance.Owner = UUID.Parse(Data["Owner"]); - appearance.PantsItem = UUID.Parse(Data["PantsItem"]); - appearance.Serial = Int32.Parse(Data["Serial"]); - appearance.ShirtItem = UUID.Parse(Data["ShirtItem"]); - appearance.ShoesItem = UUID.Parse(Data["ShoesItem"]); - appearance.SkinItem = UUID.Parse(Data["SkinItem"]); - appearance.SkirtItem = UUID.Parse(Data["SkirtItem"]); - appearance.SocksItem = UUID.Parse(Data["SocksItem"]); - appearance.UnderPantsItem = UUID.Parse(Data["UnderPantsItem"]); - appearance.UnderShirtItem = UUID.Parse(Data["UnderShirtItem"]); - - // Attachments - Dictionary attchs = new Dictionary(); - foreach (KeyValuePair _kvp in Data) - if (_kvp.Key.StartsWith("_ap_")) - attchs[_kvp.Key] = _kvp.Value; - Hashtable aaAttachs = new Hashtable(); - foreach (KeyValuePair _kvp in attchs) + AvatarAppearance appearance = new AvatarAppearance(owner); + try { - string pointStr = _kvp.Key.Substring(4); - int point = 0; - if (!Int32.TryParse(pointStr, out point)) - continue; - Hashtable tmp = new Hashtable(); - tmp["item"] = _kvp.Value; - tmp["asset"] = UUID.Zero.ToString(); - aaAttachs[point] = tmp; + appearance.Serial = Int32.Parse(Data["Serial"]); + + // Wearables + appearance.BodyItem = UUID.Parse(Data["BodyItem"]); + appearance.EyesItem = UUID.Parse(Data["EyesItem"]); + appearance.GlovesItem = UUID.Parse(Data["GlovesItem"]); + appearance.HairItem = UUID.Parse(Data["HairItem"]); + appearance.JacketItem = UUID.Parse(Data["JacketItem"]); + appearance.PantsItem = UUID.Parse(Data["PantsItem"]); + appearance.ShirtItem = UUID.Parse(Data["ShirtItem"]); + appearance.ShoesItem = UUID.Parse(Data["ShoesItem"]); + appearance.SkinItem = UUID.Parse(Data["SkinItem"]); + appearance.SkirtItem = UUID.Parse(Data["SkirtItem"]); + appearance.SocksItem = UUID.Parse(Data["SocksItem"]); + appearance.UnderPantsItem = UUID.Parse(Data["UnderPantsItem"]); + appearance.UnderShirtItem = UUID.Parse(Data["UnderShirtItem"]); + + appearance.BodyAsset = UUID.Parse(Data["BodyAsset"]); + appearance.EyesAsset = UUID.Parse(Data["EyesAsset"]); + appearance.GlovesAsset = UUID.Parse(Data["GlovesAsset"]); + appearance.HairAsset = UUID.Parse(Data["HairAsset"]); + appearance.JacketAsset = UUID.Parse(Data["JacketAsset"]); + appearance.PantsAsset = UUID.Parse(Data["PantsAsset"]); + appearance.ShirtAsset = UUID.Parse(Data["ShirtAsset"]); + appearance.ShoesAsset = UUID.Parse(Data["ShoesAsset"]); + appearance.SkinAsset = UUID.Parse(Data["SkinAsset"]); + appearance.SkirtAsset = UUID.Parse(Data["SkirtAsset"]); + appearance.SocksAsset = UUID.Parse(Data["SocksAsset"]); + appearance.UnderPantsAsset = UUID.Parse(Data["UnderPantsAsset"]); + appearance.UnderShirtAsset = UUID.Parse(Data["UnderShirtAsset"]); + + // Attachments + Dictionary attchs = new Dictionary(); + foreach (KeyValuePair _kvp in Data) + if (_kvp.Key.StartsWith("_ap_")) + attchs[_kvp.Key] = _kvp.Value; + Hashtable aaAttachs = new Hashtable(); + foreach (KeyValuePair _kvp in attchs) + { + string pointStr = _kvp.Key.Substring(4); + int point = 0; + if (!Int32.TryParse(pointStr, out point)) + continue; + Hashtable tmp = new Hashtable(); + UUID uuid = UUID.Zero; + UUID.TryParse(_kvp.Value, out uuid); + tmp["item"] = uuid; + tmp["asset"] = UUID.Zero.ToString(); + aaAttachs[point] = tmp; + } + appearance.SetAttachments(aaAttachs); } + catch { } return appearance; } diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 32df16d..e9c18ec 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -375,7 +375,7 @@ namespace OpenSim.Services.LLLoginService aCircuit.AgentID = account.PrincipalID; if (avatar != null) - aCircuit.Appearance = avatar.ToAvatarAppearance(); + aCircuit.Appearance = avatar.ToAvatarAppearance(account.PrincipalID); //aCircuit.BaseFolder = irrelevant aCircuit.CapsPath = CapsUtil.GetRandomCapsObjectPath(); aCircuit.child = false; // the first login agent is root diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index feca115..277d05a 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini @@ -20,6 +20,7 @@ PresenceServices = "LocalPresenceServicesConnector" UserAccountServices = "LocalUserAccountServicesConnector" SimulationServices = "RemoteSimulationConnectorModule" + AvatarServices = "LocalAvatarServicesConnector"; InventoryServiceInConnector = true AssetServiceInConnector = true HGAuthServiceInConnector = true @@ -44,6 +45,10 @@ LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:InventoryService" HypergridInventoryService = "OpenSim.Services.Connectors.dll:HGInventoryServiceConnector" +[AvatarService] + ; For the InventoryServiceInConnector + LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService" + [LibraryService] LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" LibraryName = "OpenSim Library" @@ -79,6 +84,7 @@ InventoryService = "OpenSim.Services.InventoryService.dll:InventoryService" PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" GridService = "OpenSim.Services.GridService.dll:GridService" + AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" DefaultRegion = "OpenSim Test" WelcomeMessage = "Welcome, Avatar!" -- cgit v1.1