aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs57
1 files changed, 36 insertions, 21 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index e014471..e47397d 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -345,7 +345,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
345 345
346// protected HashSet<uint> m_attachmentsSent; 346// protected HashSet<uint> m_attachmentsSent;
347 347
348 private int m_moneyBalance;
349 private int m_animationSequenceNumber = 1; 348 private int m_animationSequenceNumber = 1;
350 private bool m_SendLogoutPacketWhenClosing = true; 349 private bool m_SendLogoutPacketWhenClosing = true;
351 350
@@ -420,7 +419,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
420 public string Name { get { return FirstName + " " + LastName; } } 419 public string Name { get { return FirstName + " " + LastName; } }
421 420
422 public uint CircuitCode { get { return m_circuitCode; } } 421 public uint CircuitCode { get { return m_circuitCode; } }
423 public int MoneyBalance { get { return m_moneyBalance; } }
424 public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } } 422 public int NextAnimationSequenceNumber { get { return m_animationSequenceNumber++; } }
425 423
426 /// <summary> 424 /// <summary>
@@ -483,7 +481,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
483 m_firstName = sessionInfo.LoginInfo.First; 481 m_firstName = sessionInfo.LoginInfo.First;
484 m_lastName = sessionInfo.LoginInfo.Last; 482 m_lastName = sessionInfo.LoginInfo.Last;
485 m_startpos = sessionInfo.LoginInfo.StartPos; 483 m_startpos = sessionInfo.LoginInfo.StartPos;
486 m_moneyBalance = 1000;
487 484
488 m_udpServer = udpServer; 485 m_udpServer = udpServer;
489 m_udpClient = udpClient; 486 m_udpClient = udpClient;
@@ -1538,7 +1535,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1538 OutPacket(tpProgress, ThrottleOutPacketType.Unknown); 1535 OutPacket(tpProgress, ThrottleOutPacketType.Unknown);
1539 } 1536 }
1540 1537
1541 public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance) 1538 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)
1542 { 1539 {
1543 MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply); 1540 MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply);
1544 money.MoneyData.AgentID = AgentId; 1541 money.MoneyData.AgentID = AgentId;
@@ -1546,7 +1543,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1546 money.MoneyData.TransactionSuccess = success; 1543 money.MoneyData.TransactionSuccess = success;
1547 money.MoneyData.Description = description; 1544 money.MoneyData.Description = description;
1548 money.MoneyData.MoneyBalance = balance; 1545 money.MoneyData.MoneyBalance = balance;
1549 money.TransactionInfo.ItemDescription = Util.StringToBytes256("NONE"); 1546 money.TransactionInfo.TransactionType = transactionType;
1547 money.TransactionInfo.SourceID = sourceID;
1548 money.TransactionInfo.IsSourceGroup = sourceIsGroup;
1549 money.TransactionInfo.DestID = destID;
1550 money.TransactionInfo.IsDestGroup = destIsGroup;
1551 money.TransactionInfo.Amount = amount;
1552 money.TransactionInfo.ItemDescription = Util.StringToBytes256(item);
1553
1550 OutPacket(money, ThrottleOutPacketType.Task); 1554 OutPacket(money, ThrottleOutPacketType.Task);
1551 } 1555 }
1552 1556
@@ -2279,6 +2283,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2279 /// <returns></returns> 2283 /// <returns></returns>
2280 public AgentAlertMessagePacket BuildAgentAlertPacket(string message, bool modal) 2284 public AgentAlertMessagePacket BuildAgentAlertPacket(string message, bool modal)
2281 { 2285 {
2286 // Prepend a slash to make the message come up in the top right
2287 // again.
2288 // Allow special formats to be sent from aware modules.
2289 if (!modal && !message.StartsWith("ALERT: ") && !message.StartsWith("NOTIFY: ") && message != "Home position set." && message != "You died and have been teleported to your home location")
2290 message = "/" + message;
2282 AgentAlertMessagePacket alertPack = (AgentAlertMessagePacket)PacketPool.Instance.GetPacket(PacketType.AgentAlertMessage); 2291 AgentAlertMessagePacket alertPack = (AgentAlertMessagePacket)PacketPool.Instance.GetPacket(PacketType.AgentAlertMessage);
2283 alertPack.AgentData.AgentID = AgentId; 2292 alertPack.AgentData.AgentID = AgentId;
2284 alertPack.AlertData.Message = Util.StringToBytes256(message); 2293 alertPack.AlertData.Message = Util.StringToBytes256(message);
@@ -6214,7 +6223,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6214 if (appear.ObjectData.TextureEntry.Length > 1) 6223 if (appear.ObjectData.TextureEntry.Length > 1)
6215 te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length); 6224 te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length);
6216 6225
6217 handlerSetAppearance(sender, te, visualparams); 6226 List<CachedTextureRequestArg> hashes = new List<CachedTextureRequestArg>();
6227 for (int i = 0; i < appear.WearableData.Length; i++)
6228 {
6229 CachedTextureRequestArg arg = new CachedTextureRequestArg();
6230 arg.BakedTextureIndex = appear.WearableData[i].TextureIndex;
6231 arg.WearableHashID = appear.WearableData[i].CacheID;
6232 hashes.Add(arg);
6233 }
6234
6235 handlerSetAppearance(sender, te, visualparams, hashes);
6218 } 6236 }
6219 catch (Exception e) 6237 catch (Exception e)
6220 { 6238 {
@@ -11487,12 +11505,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11487 requestArgs.Add(arg); 11505 requestArgs.Add(arg);
11488 } 11506 }
11489 11507
11490 CachedTextureRequest handlerCachedTextureRequest = OnCachedTextureRequest; 11508 try
11491 if (handlerCachedTextureRequest != null)
11492 { 11509 {
11493 handlerCachedTextureRequest(simclient,cachedtex.AgentData.SerialNum,requestArgs); 11510 CachedTextureRequest handlerCachedTextureRequest = OnCachedTextureRequest;
11511 if (handlerCachedTextureRequest != null)
11512 {
11513 handlerCachedTextureRequest(simclient,cachedtex.AgentData.SerialNum,requestArgs);
11514 }
11494 } 11515 }
11495 11516 catch (Exception e)
11517 {
11518 m_log.ErrorFormat("[CLIENT VIEW]: AgentTextureCached packet handler threw an exception, {0}", e);
11519 return false;
11520 }
11521
11496 return true; 11522 return true;
11497 } 11523 }
11498 11524
@@ -11916,17 +11942,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11916 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting, method); 11942 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting, method);
11917 } 11943 }
11918 11944
11919 public bool AddMoney(int debit)
11920 {
11921 if (m_moneyBalance + debit >= 0)
11922 {
11923 m_moneyBalance += debit;
11924 SendMoneyBalance(UUID.Zero, true, Util.StringToBytes256("Poof Poof!"), m_moneyBalance);
11925 return true;
11926 }
11927 return false;
11928 }
11929
11930 protected void HandleAutopilot(Object sender, string method, List<String> args) 11945 protected void HandleAutopilot(Object sender, string method, List<String> args)
11931 { 11946 {
11932 float locx = 0; 11947 float locx = 0;