Merge branch 'master' into careminster
Conflicts: OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.csavinationmerge
commit
669fa3ff9a
|
@ -766,7 +766,7 @@ namespace OpenSim.Groups
|
||||||
remoteClient.SendCreateGroupReply(UUID.Zero, false, "Insufficient funds to create a group.");
|
remoteClient.SendCreateGroupReply(UUID.Zero, false, "Insufficient funds to create a group.");
|
||||||
return UUID.Zero;
|
return UUID.Zero;
|
||||||
}
|
}
|
||||||
money.ApplyCharge(remoteClient.AgentId, money.GroupCreationCharge, "Group Creation");
|
money.ApplyCharge(remoteClient.AgentId, money.GroupCreationCharge, MoneyTransactionType.GroupCreate);
|
||||||
}
|
}
|
||||||
string reason = string.Empty;
|
string reason = string.Empty;
|
||||||
UUID groupID = m_groupData.CreateGroup(remoteClient.AgentId, name, charter, showInList, insigniaID, membershipFee, openEnrollment,
|
UUID groupID = m_groupData.CreateGroup(remoteClient.AgentId, name, charter, showInList, insigniaID, membershipFee, openEnrollment,
|
||||||
|
|
|
@ -1171,7 +1171,8 @@ namespace OpenSim.Framework
|
||||||
void SendTeleportStart(uint flags);
|
void SendTeleportStart(uint flags);
|
||||||
void SendTeleportProgress(uint flags, string message);
|
void SendTeleportProgress(uint flags, string message);
|
||||||
|
|
||||||
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance);
|
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item);
|
||||||
|
|
||||||
void SendPayPrice(UUID objectID, int[] payPrice);
|
void SendPayPrice(UUID objectID, int[] payPrice);
|
||||||
|
|
||||||
void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations);
|
void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations);
|
||||||
|
@ -1269,8 +1270,6 @@ namespace OpenSim.Framework
|
||||||
void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch,
|
void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch,
|
||||||
string[] buttonlabels);
|
string[] buttonlabels);
|
||||||
|
|
||||||
bool AddMoney(int debit);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update the client as to where the sun is currently located.
|
/// Update the client as to where the sun is currently located.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -38,7 +38,8 @@ namespace OpenSim.Framework
|
||||||
int GetBalance(UUID agentID);
|
int GetBalance(UUID agentID);
|
||||||
bool UploadCovered(UUID agentID, int amount);
|
bool UploadCovered(UUID agentID, int amount);
|
||||||
bool AmountCovered(UUID agentID, int amount);
|
bool AmountCovered(UUID agentID, int amount);
|
||||||
void ApplyCharge(UUID agentID, int amount, string text);
|
void ApplyCharge(UUID agentID, int amount, MoneyTransactionType type);
|
||||||
|
void ApplyCharge(UUID agentID, int amount, MoneyTransactionType type, string extraData);
|
||||||
void ApplyUploadCharge(UUID agentID, int amount, string text);
|
void ApplyUploadCharge(UUID agentID, int amount, string text);
|
||||||
void MoveMoney(UUID fromUser, UUID toUser, int amount, string text);
|
void MoveMoney(UUID fromUser, UUID toUser, int amount, string text);
|
||||||
|
|
||||||
|
|
|
@ -355,7 +355,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
// protected HashSet<uint> m_attachmentsSent;
|
// protected HashSet<uint> m_attachmentsSent;
|
||||||
|
|
||||||
private int m_moneyBalance;
|
|
||||||
private bool m_deliverPackets = true;
|
private bool m_deliverPackets = true;
|
||||||
private int m_animationSequenceNumber = 1;
|
private int m_animationSequenceNumber = 1;
|
||||||
private bool m_SendLogoutPacketWhenClosing = true;
|
private bool m_SendLogoutPacketWhenClosing = true;
|
||||||
|
@ -439,7 +438,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public string Name { get { return FirstName + " " + LastName; } }
|
public string Name { get { return FirstName + " " + LastName; } }
|
||||||
|
|
||||||
public uint CircuitCode { get { return m_circuitCode; } }
|
public uint CircuitCode { get { return m_circuitCode; } }
|
||||||
public int MoneyBalance { get { return m_moneyBalance; } }
|
|
||||||
public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } }
|
public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -503,7 +501,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_firstName = sessionInfo.LoginInfo.First;
|
m_firstName = sessionInfo.LoginInfo.First;
|
||||||
m_lastName = sessionInfo.LoginInfo.Last;
|
m_lastName = sessionInfo.LoginInfo.Last;
|
||||||
m_startpos = sessionInfo.LoginInfo.StartPos;
|
m_startpos = sessionInfo.LoginInfo.StartPos;
|
||||||
m_moneyBalance = 1000;
|
|
||||||
|
|
||||||
m_udpServer = udpServer;
|
m_udpServer = udpServer;
|
||||||
m_udpClient = udpClient;
|
m_udpClient = udpClient;
|
||||||
|
@ -1530,7 +1527,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
OutPacket(tpProgress, ThrottleOutPacketType.Unknown);
|
OutPacket(tpProgress, ThrottleOutPacketType.Unknown);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance)
|
public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
|
||||||
{
|
{
|
||||||
MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply);
|
MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply);
|
||||||
money.MoneyData.AgentID = AgentId;
|
money.MoneyData.AgentID = AgentId;
|
||||||
|
@ -1538,7 +1535,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
money.MoneyData.TransactionSuccess = success;
|
money.MoneyData.TransactionSuccess = success;
|
||||||
money.MoneyData.Description = description;
|
money.MoneyData.Description = description;
|
||||||
money.MoneyData.MoneyBalance = balance;
|
money.MoneyData.MoneyBalance = balance;
|
||||||
money.TransactionInfo.ItemDescription = Util.StringToBytes256("NONE");
|
money.TransactionInfo.TransactionType = transactionType;
|
||||||
|
money.TransactionInfo.SourceID = sourceID;
|
||||||
|
money.TransactionInfo.IsSourceGroup = sourceIsGroup;
|
||||||
|
money.TransactionInfo.DestID = destID;
|
||||||
|
money.TransactionInfo.IsDestGroup = destIsGroup;
|
||||||
|
money.TransactionInfo.Amount = amount;
|
||||||
|
money.TransactionInfo.ItemDescription = Util.StringToBytes256(item);
|
||||||
|
|
||||||
OutPacket(money, ThrottleOutPacketType.Task);
|
OutPacket(money, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2282,6 +2286,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public AgentAlertMessagePacket BuildAgentAlertPacket(string message, bool modal)
|
public AgentAlertMessagePacket BuildAgentAlertPacket(string message, bool modal)
|
||||||
{
|
{
|
||||||
|
// Prepend a slash to make the message come up in the top right
|
||||||
|
// again.
|
||||||
|
// Allow special formats to be sent from aware modules.
|
||||||
|
if (!modal && !message.StartsWith("ALERT: ") && !message.StartsWith("NOTIFY: ") && message != "Home position set." && message != "You died and have been teleported to your home location")
|
||||||
|
message = "/" + message;
|
||||||
AgentAlertMessagePacket alertPack = (AgentAlertMessagePacket)PacketPool.Instance.GetPacket(PacketType.AgentAlertMessage);
|
AgentAlertMessagePacket alertPack = (AgentAlertMessagePacket)PacketPool.Instance.GetPacket(PacketType.AgentAlertMessage);
|
||||||
alertPack.AgentData.AgentID = AgentId;
|
alertPack.AgentData.AgentID = AgentId;
|
||||||
alertPack.AlertData.Message = Util.StringToBytes256(message);
|
alertPack.AlertData.Message = Util.StringToBytes256(message);
|
||||||
|
@ -12277,17 +12286,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting, method);
|
m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting, method);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddMoney(int debit)
|
|
||||||
{
|
|
||||||
if (m_moneyBalance + debit >= 0)
|
|
||||||
{
|
|
||||||
m_moneyBalance += debit;
|
|
||||||
SendMoneyBalance(UUID.Zero, true, Util.StringToBytes256("Poof Poof!"), m_moneyBalance);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void HandleAutopilot(Object sender, string method, List<String> args)
|
protected void HandleAutopilot(Object sender, string method, List<String> args)
|
||||||
{
|
{
|
||||||
float locx = 0;
|
float locx = 0;
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Nini.Config;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using OpenMetaverse;
|
||||||
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Region.CoreModules.Framework.UserManagement;
|
||||||
|
using OpenSim.Tests.Common;
|
||||||
|
using OpenSim.Tests.Common.Mock;
|
||||||
|
|
||||||
|
namespace OpenSim.Region.CoreModules.Framework.UserManagement.Tests
|
||||||
|
{
|
||||||
|
[TestFixture]
|
||||||
|
public class HGUserManagementModuleTests : OpenSimTestCase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Test that a new HG agent (i.e. one without a user account) has their name cached in the UMM upon creation.
|
||||||
|
/// </summary>
|
||||||
|
[Test]
|
||||||
|
public void TestCachedUserNameForNewAgent()
|
||||||
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
// TestHelpers.EnableLogging();
|
||||||
|
|
||||||
|
HGUserManagementModule hgumm = new HGUserManagementModule();
|
||||||
|
UUID userId = TestHelpers.ParseStem("11");
|
||||||
|
string firstName = "Fred";
|
||||||
|
string lastName = "Astaire";
|
||||||
|
string homeUri = "example.com";
|
||||||
|
|
||||||
|
IConfigSource config = new IniConfigSource();
|
||||||
|
config.AddConfig("Modules");
|
||||||
|
config.Configs["Modules"].Set("UserManagementModule", hgumm.Name);
|
||||||
|
|
||||||
|
SceneHelpers sceneHelpers = new SceneHelpers();
|
||||||
|
TestScene scene = sceneHelpers.SetupScene();
|
||||||
|
SceneHelpers.SetupSceneModules(scene, config, hgumm);
|
||||||
|
|
||||||
|
AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId);
|
||||||
|
acd.firstname = firstName;
|
||||||
|
acd.lastname = lastName;
|
||||||
|
acd.ServiceURLs["HomeURI"] = "http://" + homeUri;
|
||||||
|
|
||||||
|
SceneHelpers.AddScenePresence(scene, acd);
|
||||||
|
|
||||||
|
string name = hgumm.GetUserName(userId);
|
||||||
|
Assert.That(name, Is.EqualTo(string.Format("{0}.{1} @{2}", firstName, lastName, homeUri)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -320,7 +320,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
names[0] = "Unknown";
|
names[0] = "Unknown";
|
||||||
names[1] = "UserUMMTGUN";
|
names[1] = "UserUMMTGUN2";
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3005,7 +3005,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// client is for a root or child agent.
|
// client is for a root or child agent.
|
||||||
client.SceneAgent = sp;
|
client.SceneAgent = sp;
|
||||||
|
|
||||||
// Cache the user's name
|
// This is currently also being done earlier in NewUserConnection for real users to see if this
|
||||||
|
// resolves problems where HG agents are occasionally seen by others as "Unknown user" in chat and other
|
||||||
|
// places. However, we still need to do it here for NPCs.
|
||||||
CacheUserName(sp, aCircuit);
|
CacheUserName(sp, aCircuit);
|
||||||
|
|
||||||
EventManager.TriggerOnNewClient(client);
|
EventManager.TriggerOnNewClient(client);
|
||||||
|
@ -3029,7 +3031,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
string first = aCircuit.firstname, last = aCircuit.lastname;
|
string first = aCircuit.firstname, last = aCircuit.lastname;
|
||||||
|
|
||||||
if (sp.PresenceType == PresenceType.Npc)
|
if (sp != null && sp.PresenceType == PresenceType.Npc)
|
||||||
{
|
{
|
||||||
UserManagementModule.AddUser(aCircuit.AgentID, first, last);
|
UserManagementModule.AddUser(aCircuit.AgentID, first, last);
|
||||||
}
|
}
|
||||||
|
@ -3942,8 +3944,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
CapsModule.SetAgentCapsSeeds(agent);
|
CapsModule.SetAgentCapsSeeds(agent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
// Try caching an incoming user name much earlier on to see if this helps with an issue
|
||||||
|
// where HG users are occasionally seen by others as "Unknown User" because their UUIDName
|
||||||
|
// request for the HG avatar appears to trigger before the user name is cached.
|
||||||
|
CacheUserName(null, agent);
|
||||||
|
}
|
||||||
|
|
||||||
if (CapsModule != null)
|
if (CapsModule != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1550,6 +1550,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// Create child agents in neighbouring regions
|
// Create child agents in neighbouring regions
|
||||||
if (openChildAgents && !IsChildAgent)
|
if (openChildAgents && !IsChildAgent)
|
||||||
{
|
{
|
||||||
|
// Remember in HandleUseCircuitCode, we delayed this to here
|
||||||
SendInitialDataToMe();
|
SendInitialDataToMe();
|
||||||
|
|
||||||
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
|
||||||
|
|
|
@ -1061,7 +1061,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance)
|
public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1206,11 +1206,6 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddMoney(int debit)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
|
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
|
|
||||||
private IConfig m_config;
|
private IConfig m_config;
|
||||||
|
|
||||||
|
private object m_Lock;
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -128,6 +130,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
if (!m_config.GetBoolean("enabled", false))
|
if (!m_config.GetBoolean("enabled", false))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
m_Lock = new object();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// retrieve configuration variables
|
// retrieve configuration variables
|
||||||
|
@ -1118,25 +1122,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
|
||||||
|
|
||||||
doc = new XmlDocument();
|
doc = new XmlDocument();
|
||||||
|
|
||||||
try
|
// Let's serialize all calls to Vivox. Most of these are driven by
|
||||||
|
// the clients (CAPs), when the user arrives at the region. We don't
|
||||||
|
// want to issue many simultaneous http requests to Vivox, because mono
|
||||||
|
// doesn't like that
|
||||||
|
lock (m_Lock)
|
||||||
{
|
{
|
||||||
// Otherwise prepare the request
|
try
|
||||||
// m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
{
|
||||||
|
// Otherwise prepare the request
|
||||||
|
//m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl);
|
||||||
|
|
||||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl);
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl);
|
||||||
|
|
||||||
// We are sending just parameters, no content
|
// We are sending just parameters, no content
|
||||||
req.ContentLength = 0;
|
req.ContentLength = 0;
|
||||||
|
|
||||||
// Send request and retrieve the response
|
// Send request and retrieve the response
|
||||||
using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
|
using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse())
|
||||||
using (Stream s = rsp.GetResponseStream())
|
using (Stream s = rsp.GetResponseStream())
|
||||||
using (XmlTextReader rdr = new XmlTextReader(s))
|
using (XmlTextReader rdr = new XmlTextReader(s))
|
||||||
doc.Load(rdr);
|
doc.Load(rdr);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message);
|
m_log.ErrorFormat("[VivoxVoice] Error in admin call : {0}", e.Message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're debugging server responses, dump the whole
|
// If we're debugging server responses, dump the whole
|
||||||
|
|
|
@ -764,7 +764,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
|
||||||
remoteClient.SendCreateGroupReply(UUID.Zero, false, "You have got insufficient funds to create a group.");
|
remoteClient.SendCreateGroupReply(UUID.Zero, false, "You have got insufficient funds to create a group.");
|
||||||
return UUID.Zero;
|
return UUID.Zero;
|
||||||
}
|
}
|
||||||
money.ApplyCharge(GetRequestingAgentID(remoteClient), money.GroupCreationCharge, "Group Creation");
|
money.ApplyCharge(GetRequestingAgentID(remoteClient), money.GroupCreationCharge, MoneyTransactionType.GroupCreate);
|
||||||
}
|
}
|
||||||
UUID groupID = m_groupData.CreateGroup(GetRequestingAgentID(remoteClient), name, charter, showInList, insigniaID, membershipFee, openEnrollment, allowPublish, maturePublish, GetRequestingAgentID(remoteClient));
|
UUID groupID = m_groupData.CreateGroup(GetRequestingAgentID(remoteClient), name, charter, showInList, insigniaID, membershipFee, openEnrollment, allowPublish, maturePublish, GetRequestingAgentID(remoteClient));
|
||||||
|
|
||||||
|
|
|
@ -191,9 +191,14 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
||||||
// Please do not refactor these to be just one method
|
// Please do not refactor these to be just one method
|
||||||
// Existing implementations need the distinction
|
// Existing implementations need the distinction
|
||||||
//
|
//
|
||||||
public void ApplyCharge(UUID agentID, int amount, string text)
|
public void ApplyCharge(UUID agentID, int amount, MoneyTransactionType type, string extraData)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ApplyCharge(UUID agentID, int amount, MoneyTransactionType type)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void ApplyUploadCharge(UUID agentID, int amount, string text)
|
public void ApplyUploadCharge(UUID agentID, int amount, string text)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -322,7 +327,7 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
||||||
client.SendAlertMessage(e.Message + " ");
|
client.SendAlertMessage(e.Message + " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
client.SendMoneyBalance(TransactionID, true, new byte[0], returnfunds);
|
client.SendMoneyBalance(TransactionID, true, new byte[0], returnfunds, 0, UUID.Zero, false, UUID.Zero, false, 0, String.Empty);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -385,12 +390,12 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
||||||
{
|
{
|
||||||
if (sender != null)
|
if (sender != null)
|
||||||
{
|
{
|
||||||
sender.SendMoneyBalance(UUID.Random(), transactionresult, Utils.StringToBytes(description), GetFundsForAgentID(senderID));
|
sender.SendMoneyBalance(UUID.Random(), transactionresult, Utils.StringToBytes(description), GetFundsForAgentID(senderID), 0, UUID.Zero, false, UUID.Zero, false, 0, String.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (receiver != null)
|
if (receiver != null)
|
||||||
{
|
{
|
||||||
receiver.SendMoneyBalance(UUID.Random(), transactionresult, Utils.StringToBytes(description), GetFundsForAgentID(receiverID));
|
receiver.SendMoneyBalance(UUID.Random(), transactionresult, Utils.StringToBytes(description), GetFundsForAgentID(receiverID), 0, UUID.Zero, false, UUID.Zero, false, 0, String.Empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -704,7 +704,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance)
|
public virtual void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -880,11 +880,6 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddMoney(int debit)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong time, uint dlen, uint ylen, float phase)
|
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong time, uint dlen, uint ylen, float phase)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -375,7 +375,7 @@ public static class BSParam
|
||||||
new ParameterDefn<bool>("ShouldUseGImpactShapeForPrims", "If true, use a GImpact shape for prims with cuts and twists",
|
new ParameterDefn<bool>("ShouldUseGImpactShapeForPrims", "If true, use a GImpact shape for prims with cuts and twists",
|
||||||
false ),
|
false ),
|
||||||
new ParameterDefn<bool>("ShouldUseAssetHulls", "If true, use hull if specified in the mesh asset info",
|
new ParameterDefn<bool>("ShouldUseAssetHulls", "If true, use hull if specified in the mesh asset info",
|
||||||
false ),
|
true ),
|
||||||
|
|
||||||
new ParameterDefn<int>("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions",
|
new ParameterDefn<int>("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions",
|
||||||
5 ),
|
5 ),
|
||||||
|
|
|
@ -511,7 +511,10 @@ public class BSPrim : BSPhysObject
|
||||||
|
|
||||||
PhysScene.TaintedObject("setVehicleType", delegate()
|
PhysScene.TaintedObject("setVehicleType", delegate()
|
||||||
{
|
{
|
||||||
ZeroMotion(true /* inTaintTime */);
|
// Some vehicle scripts change vehicle type on the fly as an easy way to
|
||||||
|
// change all the parameters. Like a plane changing to CAR when on the
|
||||||
|
// ground. In this case, don't want to zero motion.
|
||||||
|
// ZeroMotion(true /* inTaintTime */);
|
||||||
VehicleActor.ProcessTypeChange(type);
|
VehicleActor.ProcessTypeChange(type);
|
||||||
ActivateIfPhysical(false);
|
ActivateIfPhysical(false);
|
||||||
});
|
});
|
||||||
|
|
|
@ -658,7 +658,7 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance)
|
public virtual void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -886,11 +886,6 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddMoney(int debit)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong time, uint dlen, uint ylen, float phase)
|
public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong time, uint dlen, uint ylen, float phase)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -3183,6 +3183,7 @@
|
||||||
<Match path="Avatar/Inventory/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Avatar/Inventory/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Avatar/Inventory/Transfer/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Avatar/Inventory/Transfer/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Framework/InventoryAccess/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Framework/InventoryAccess/Tests" pattern="*.cs" recurse="true"/>
|
||||||
|
<Match path="Framework/UserManagement/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Scripting/VectorRender/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Scripting/VectorRender/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="World/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="World/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match buildAction="EmbeddedResource" path="World/Archiver/Tests/Resources" pattern="*"/>
|
<Match buildAction="EmbeddedResource" path="World/Archiver/Tests/Resources" pattern="*"/>
|
||||||
|
|
Loading…
Reference in New Issue