aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs98
1 files changed, 76 insertions, 22 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 4e2a0b7..0df1748 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -232,6 +232,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
232 public event ObjectBuy OnObjectBuy; 232 public event ObjectBuy OnObjectBuy;
233 public event BuyObjectInventory OnBuyObjectInventory; 233 public event BuyObjectInventory OnBuyObjectInventory;
234 public event AgentSit OnUndo; 234 public event AgentSit OnUndo;
235 public event AgentSit OnRedo;
236 public event LandUndo OnLandUndo;
235 public event ForceReleaseControls OnForceReleaseControls; 237 public event ForceReleaseControls OnForceReleaseControls;
236 public event GodLandStatRequest OnLandStatRequest; 238 public event GodLandStatRequest OnLandStatRequest;
237 public event RequestObjectPropertiesFamily OnObjectGroupRequest; 239 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
@@ -3307,9 +3309,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3307 awb.ItemID = wearables[i].ItemID; 3309 awb.ItemID = wearables[i].ItemID;
3308 aw.WearableData[i] = awb; 3310 aw.WearableData[i] = awb;
3309 3311
3310 // m_log.DebugFormat( 3312// m_log.DebugFormat(
3311 // "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}", 3313// "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}",
3312 // awb.ItemID, awb.AssetID, i, Name); 3314// awb.ItemID, awb.AssetID, i, Name);
3313 } 3315 }
3314 3316
3315 OutPacket(aw, ThrottleOutPacketType.Task); 3317 OutPacket(aw, ThrottleOutPacketType.Task);
@@ -4668,6 +4670,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4668 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false); 4670 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false);
4669 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false); 4671 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false);
4670 AddLocalPacketHandler(PacketType.Undo, HandleUndo, false); 4672 AddLocalPacketHandler(PacketType.Undo, HandleUndo, false);
4673 AddLocalPacketHandler(PacketType.UndoLand, HandleLandUndo, false);
4674 AddLocalPacketHandler(PacketType.Redo, HandleRedo, false);
4671 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); 4675 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay);
4672 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false); 4676 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false);
4673 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); 4677 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch);
@@ -5838,7 +5842,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5838 handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, soundTriggerPacket.SoundData.OwnerID, 5842 handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, soundTriggerPacket.SoundData.OwnerID,
5839 soundTriggerPacket.SoundData.ObjectID, soundTriggerPacket.SoundData.ParentID, 5843 soundTriggerPacket.SoundData.ObjectID, soundTriggerPacket.SoundData.ParentID,
5840 soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position, 5844 soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position,
5841 soundTriggerPacket.SoundData.Handle); 5845 soundTriggerPacket.SoundData.Handle, 0);
5842 5846
5843 } 5847 }
5844 return true; 5848 return true;
@@ -6736,6 +6740,56 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6736 return true; 6740 return true;
6737 } 6741 }
6738 6742
6743 private bool HandleLandUndo(IClientAPI sender, Packet Pack)
6744 {
6745 UndoLandPacket undolanditem = (UndoLandPacket)Pack;
6746
6747 #region Packet Session and User Check
6748 if (m_checkPackets)
6749 {
6750 if (undolanditem.AgentData.SessionID != SessionId ||
6751 undolanditem.AgentData.AgentID != AgentId)
6752 return true;
6753 }
6754 #endregion
6755
6756 LandUndo handlerOnUndo = OnLandUndo;
6757 if (handlerOnUndo != null)
6758 {
6759 handlerOnUndo(this);
6760 }
6761 return true;
6762 }
6763
6764 private bool HandleRedo(IClientAPI sender, Packet Pack)
6765 {
6766 RedoPacket redoitem = (RedoPacket)Pack;
6767
6768 #region Packet Session and User Check
6769 if (m_checkPackets)
6770 {
6771 if (redoitem.AgentData.SessionID != SessionId ||
6772 redoitem.AgentData.AgentID != AgentId)
6773 return true;
6774 }
6775 #endregion
6776
6777 if (redoitem.ObjectData.Length > 0)
6778 {
6779 for (int i = 0; i < redoitem.ObjectData.Length; i++)
6780 {
6781 UUID objiD = redoitem.ObjectData[i].ObjectID;
6782 AgentSit handlerOnRedo = OnRedo;
6783 if (handlerOnRedo != null)
6784 {
6785 handlerOnRedo(this, objiD);
6786 }
6787
6788 }
6789 }
6790 return true;
6791 }
6792
6739 private bool HandleObjectDuplicateOnRay(IClientAPI sender, Packet Pack) 6793 private bool HandleObjectDuplicateOnRay(IClientAPI sender, Packet Pack)
6740 { 6794 {
6741 ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack; 6795 ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack;
@@ -8311,8 +8365,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8311 { 8365 {
8312 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter), 8366 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter),
8313 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter), 8367 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
8314 Convert.ToInt16(Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[4].Parameter))), 8368 Convert.ToInt16(Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[4].Parameter), Culture.NumberFormatInfo)),
8315 (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter)), 8369 (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter), Culture.NumberFormatInfo),
8316 Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[6].Parameter)), 8370 Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[6].Parameter)),
8317 convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter)); 8371 convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter));
8318 } 8372 }
@@ -8360,8 +8414,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8360 if (splitField.Length == 3) 8414 if (splitField.Length == 3)
8361 { 8415 {
8362 Int16 corner = Convert.ToInt16(splitField[0]); 8416 Int16 corner = Convert.ToInt16(splitField[0]);
8363 float lowValue = (float)Convert.ToDecimal(splitField[1]); 8417 float lowValue = (float)Convert.ToDecimal(splitField[1], Culture.NumberFormatInfo);
8364 float highValue = (float)Convert.ToDecimal(splitField[2]); 8418 float highValue = (float)Convert.ToDecimal(splitField[2], Culture.NumberFormatInfo);
8365 8419
8366 OnSetEstateTerrainTextureHeights(this, corner, lowValue, highValue); 8420 OnSetEstateTerrainTextureHeights(this, corner, lowValue, highValue);
8367 } 8421 }
@@ -8384,19 +8438,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8384 { 8438 {
8385 string tmp = Utils.BytesToString(messagePacket.ParamList[0].Parameter); 8439 string tmp = Utils.BytesToString(messagePacket.ParamList[0].Parameter);
8386 if (!tmp.Contains(".")) tmp += ".00"; 8440 if (!tmp.Contains(".")) tmp += ".00";
8387 float WaterHeight = (float)Convert.ToDecimal(tmp); 8441 float WaterHeight = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
8388 tmp = Utils.BytesToString(messagePacket.ParamList[1].Parameter); 8442 tmp = Utils.BytesToString(messagePacket.ParamList[1].Parameter);
8389 if (!tmp.Contains(".")) tmp += ".00"; 8443 if (!tmp.Contains(".")) tmp += ".00";
8390 float TerrainRaiseLimit = (float)Convert.ToDecimal(tmp); 8444 float TerrainRaiseLimit = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
8391 tmp = Utils.BytesToString(messagePacket.ParamList[2].Parameter); 8445 tmp = Utils.BytesToString(messagePacket.ParamList[2].Parameter);
8392 if (!tmp.Contains(".")) tmp += ".00"; 8446 if (!tmp.Contains(".")) tmp += ".00";
8393 float TerrainLowerLimit = (float)Convert.ToDecimal(tmp); 8447 float TerrainLowerLimit = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
8394 bool UseEstateSun = convertParamStringToBool(messagePacket.ParamList[3].Parameter); 8448 bool UseEstateSun = convertParamStringToBool(messagePacket.ParamList[3].Parameter);
8395 bool UseFixedSun = convertParamStringToBool(messagePacket.ParamList[4].Parameter); 8449 bool UseFixedSun = convertParamStringToBool(messagePacket.ParamList[4].Parameter);
8396 float SunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter)); 8450 float SunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter), Culture.NumberFormatInfo);
8397 bool UseGlobal = convertParamStringToBool(messagePacket.ParamList[6].Parameter); 8451 bool UseGlobal = convertParamStringToBool(messagePacket.ParamList[6].Parameter);
8398 bool EstateFixedSun = convertParamStringToBool(messagePacket.ParamList[7].Parameter); 8452 bool EstateFixedSun = convertParamStringToBool(messagePacket.ParamList[7].Parameter);
8399 float EstateSunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[8].Parameter)); 8453 float EstateSunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[8].Parameter), Culture.NumberFormatInfo);
8400 8454
8401 OnSetRegionTerrainSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseEstateSun, UseFixedSun, SunHour, UseGlobal, EstateFixedSun, EstateSunHour); 8455 OnSetRegionTerrainSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseEstateSun, UseFixedSun, SunHour, UseGlobal, EstateFixedSun, EstateSunHour);
8402 8456
@@ -13928,8 +13982,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
13928 { 13982 {
13929 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter), 13983 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter),
13930 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter), 13984 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
13931 Convert.ToInt16(Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[4].Parameter))), 13985 Convert.ToInt16(Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[4].Parameter), Culture.NumberFormatInfo)),
13932 (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter)), 13986 (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter), Culture.NumberFormatInfo),
13933 Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[6].Parameter)), 13987 Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[6].Parameter)),
13934 convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter)); 13988 convertParamStringToBool(messagePacket.ParamList[7].Parameter), convertParamStringToBool(messagePacket.ParamList[8].Parameter));
13935 } 13989 }
@@ -13977,8 +14031,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
13977 if (splitField.Length == 3) 14031 if (splitField.Length == 3)
13978 { 14032 {
13979 Int16 corner = Convert.ToInt16(splitField[0]); 14033 Int16 corner = Convert.ToInt16(splitField[0]);
13980 float lowValue = (float)Convert.ToDecimal(splitField[1]); 14034 float lowValue = (float)Convert.ToDecimal(splitField[1], Culture.NumberFormatInfo);
13981 float highValue = (float)Convert.ToDecimal(splitField[2]); 14035 float highValue = (float)Convert.ToDecimal(splitField[2], Culture.NumberFormatInfo);
13982 14036
13983 OnSetEstateTerrainTextureHeights(this, corner, lowValue, highValue); 14037 OnSetEstateTerrainTextureHeights(this, corner, lowValue, highValue);
13984 } 14038 }
@@ -14001,19 +14055,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
14001 { 14055 {
14002 string tmp = Utils.BytesToString(messagePacket.ParamList[0].Parameter); 14056 string tmp = Utils.BytesToString(messagePacket.ParamList[0].Parameter);
14003 if (!tmp.Contains(".")) tmp += ".00"; 14057 if (!tmp.Contains(".")) tmp += ".00";
14004 float WaterHeight = (float)Convert.ToDecimal(tmp); 14058 float WaterHeight = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
14005 tmp = Utils.BytesToString(messagePacket.ParamList[1].Parameter); 14059 tmp = Utils.BytesToString(messagePacket.ParamList[1].Parameter);
14006 if (!tmp.Contains(".")) tmp += ".00"; 14060 if (!tmp.Contains(".")) tmp += ".00";
14007 float TerrainRaiseLimit = (float)Convert.ToDecimal(tmp); 14061 float TerrainRaiseLimit = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
14008 tmp = Utils.BytesToString(messagePacket.ParamList[2].Parameter); 14062 tmp = Utils.BytesToString(messagePacket.ParamList[2].Parameter);
14009 if (!tmp.Contains(".")) tmp += ".00"; 14063 if (!tmp.Contains(".")) tmp += ".00";
14010 float TerrainLowerLimit = (float)Convert.ToDecimal(tmp); 14064 float TerrainLowerLimit = (float)Convert.ToDecimal(tmp, Culture.NumberFormatInfo);
14011 bool UseEstateSun = convertParamStringToBool(messagePacket.ParamList[3].Parameter); 14065 bool UseEstateSun = convertParamStringToBool(messagePacket.ParamList[3].Parameter);
14012 bool UseFixedSun = convertParamStringToBool(messagePacket.ParamList[4].Parameter); 14066 bool UseFixedSun = convertParamStringToBool(messagePacket.ParamList[4].Parameter);
14013 float SunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter)); 14067 float SunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[5].Parameter), Culture.NumberFormatInfo);
14014 bool UseGlobal = convertParamStringToBool(messagePacket.ParamList[6].Parameter); 14068 bool UseGlobal = convertParamStringToBool(messagePacket.ParamList[6].Parameter);
14015 bool EstateFixedSun = convertParamStringToBool(messagePacket.ParamList[7].Parameter); 14069 bool EstateFixedSun = convertParamStringToBool(messagePacket.ParamList[7].Parameter);
14016 float EstateSunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[8].Parameter)); 14070 float EstateSunHour = (float)Convert.ToDecimal(Utils.BytesToString(messagePacket.ParamList[8].Parameter), Culture.NumberFormatInfo);
14017 14071
14018 OnSetRegionTerrainSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseEstateSun, UseFixedSun, SunHour, UseGlobal, EstateFixedSun, EstateSunHour); 14072 OnSetRegionTerrainSettings(WaterHeight, TerrainRaiseLimit, TerrainLowerLimit, UseEstateSun, UseFixedSun, SunHour, UseGlobal, EstateFixedSun, EstateSunHour);
14019 14073