aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/PrimitiveBaseShape.cs48
-rw-r--r--OpenSim/Framework/Util.cs41
2 files changed, 65 insertions, 24 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs
index 44f484e..83ddf95 100644
--- a/OpenSim/Framework/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/PrimitiveBaseShape.cs
@@ -213,6 +213,8 @@ namespace OpenSim.Framework
213 /// <param name="prim"></param> 213 /// <param name="prim"></param>
214 public PrimitiveBaseShape(Primitive prim) 214 public PrimitiveBaseShape(Primitive prim)
215 { 215 {
216// m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Creating from {0}", prim.ID);
217
216 PCode = (byte)prim.PrimData.PCode; 218 PCode = (byte)prim.PrimData.PCode;
217 ExtraParams = new byte[1]; 219 ExtraParams = new byte[1];
218 220
@@ -376,7 +378,7 @@ namespace OpenSim.Framework
376 _pathEnd = Primitive.PackEndCut(end); 378 _pathEnd = Primitive.PackEndCut(end);
377 } 379 }
378 380
379 public void SetSculptData(byte sculptType, UUID SculptTextureUUID) 381 public void SetSculptProperties(byte sculptType, UUID SculptTextureUUID)
380 { 382 {
381 _sculptType = sculptType; 383 _sculptType = sculptType;
382 _sculptTexture = SculptTextureUUID; 384 _sculptTexture = SculptTextureUUID;
@@ -613,29 +615,39 @@ namespace OpenSim.Framework
613 } 615 }
614 } 616 }
615 617
616 public byte SculptType { 618 public byte SculptType
617 get { 619 {
620 get
621 {
618 return _sculptType; 622 return _sculptType;
619 } 623 }
620 set { 624 set
625 {
621 _sculptType = value; 626 _sculptType = value;
622 } 627 }
623 } 628 }
624 629
625 public byte[] SculptData { 630 public byte[] SculptData
626 get { 631 {
632 get
633 {
627 return _sculptData; 634 return _sculptData;
628 } 635 }
629 set { 636 set
637 {
638// m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Setting SculptData to data with length {0}", value.Length);
630 _sculptData = value; 639 _sculptData = value;
631 } 640 }
632 } 641 }
633 642
634 public int FlexiSoftness { 643 public int FlexiSoftness
635 get { 644 {
645 get
646 {
636 return _flexiSoftness; 647 return _flexiSoftness;
637 } 648 }
638 set { 649 set
650 {
639 _flexiSoftness = value; 651 _flexiSoftness = value;
640 } 652 }
641 } 653 }
@@ -869,6 +881,8 @@ namespace OpenSim.Framework
869 881
870 public byte[] ExtraParamsToBytes() 882 public byte[] ExtraParamsToBytes()
871 { 883 {
884// m_log.DebugFormat("[EXTRAPARAMS]: Called ExtraParamsToBytes()");
885
872 ushort FlexiEP = 0x10; 886 ushort FlexiEP = 0x10;
873 ushort LightEP = 0x20; 887 ushort LightEP = 0x20;
874 ushort SculptEP = 0x30; 888 ushort SculptEP = 0x30;
@@ -884,18 +898,21 @@ namespace OpenSim.Framework
884 TotalBytesLength += 16;// data 898 TotalBytesLength += 16;// data
885 TotalBytesLength += 2 + 4; // type 899 TotalBytesLength += 2 + 4; // type
886 } 900 }
901
887 if (_lightEntry) 902 if (_lightEntry)
888 { 903 {
889 ExtraParamsNum++; 904 ExtraParamsNum++;
890 TotalBytesLength += 16;// data 905 TotalBytesLength += 16;// data
891 TotalBytesLength += 2 + 4; // type 906 TotalBytesLength += 2 + 4; // type
892 } 907 }
908
893 if (_sculptEntry) 909 if (_sculptEntry)
894 { 910 {
895 ExtraParamsNum++; 911 ExtraParamsNum++;
896 TotalBytesLength += 17;// data 912 TotalBytesLength += 17;// data
897 TotalBytesLength += 2 + 4; // type 913 TotalBytesLength += 2 + 4; // type
898 } 914 }
915
899 if (_projectionEntry) 916 if (_projectionEntry)
900 { 917 {
901 ExtraParamsNum++; 918 ExtraParamsNum++;
@@ -905,7 +922,6 @@ namespace OpenSim.Framework
905 922
906 byte[] returnbytes = new byte[TotalBytesLength]; 923 byte[] returnbytes = new byte[TotalBytesLength];
907 924
908
909 // uint paramlength = ExtraParamsNum; 925 // uint paramlength = ExtraParamsNum;
910 926
911 // Stick in the number of parameters 927 // Stick in the number of parameters
@@ -925,6 +941,7 @@ namespace OpenSim.Framework
925 Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length); 941 Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length);
926 i += FlexiData.Length; 942 i += FlexiData.Length;
927 } 943 }
944
928 if (_lightEntry) 945 if (_lightEntry)
929 { 946 {
930 byte[] LightData = GetLightBytes(); 947 byte[] LightData = GetLightBytes();
@@ -939,6 +956,7 @@ namespace OpenSim.Framework
939 Array.Copy(LightData, 0, returnbytes, i, LightData.Length); 956 Array.Copy(LightData, 0, returnbytes, i, LightData.Length);
940 i += LightData.Length; 957 i += LightData.Length;
941 } 958 }
959
942 if (_sculptEntry) 960 if (_sculptEntry)
943 { 961 {
944 byte[] SculptData = GetSculptBytes(); 962 byte[] SculptData = GetSculptBytes();
@@ -953,6 +971,7 @@ namespace OpenSim.Framework
953 Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length); 971 Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length);
954 i += SculptData.Length; 972 i += SculptData.Length;
955 } 973 }
974
956 if (_projectionEntry) 975 if (_projectionEntry)
957 { 976 {
958 byte[] ProjectionData = GetProjectionBytes(); 977 byte[] ProjectionData = GetProjectionBytes();
@@ -966,6 +985,7 @@ namespace OpenSim.Framework
966 Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length); 985 Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length);
967 i += ProjectionData.Length; 986 i += ProjectionData.Length;
968 } 987 }
988
969 if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry) 989 if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry)
970 { 990 {
971 byte[] returnbyte = new byte[1]; 991 byte[] returnbyte = new byte[1];
@@ -973,10 +993,7 @@ namespace OpenSim.Framework
973 return returnbyte; 993 return returnbyte;
974 } 994 }
975 995
976
977 return returnbytes; 996 return returnbytes;
978 //m_log.Info("[EXTRAPARAMS]: Length = " + m_shape.ExtraParams.Length.ToString());
979
980 } 997 }
981 998
982 public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data) 999 public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data)
@@ -1047,7 +1064,6 @@ namespace OpenSim.Framework
1047 extraParamCount = data[i++]; 1064 extraParamCount = data[i++];
1048 } 1065 }
1049 1066
1050
1051 for (int k = 0; k < extraParamCount; k++) 1067 for (int k = 0; k < extraParamCount; k++)
1052 { 1068 {
1053 ushort epType = Utils.BytesToUInt16(data, i); 1069 ushort epType = Utils.BytesToUInt16(data, i);
@@ -1091,7 +1107,6 @@ namespace OpenSim.Framework
1091 _sculptEntry = false; 1107 _sculptEntry = false;
1092 if (!lGotFilter) 1108 if (!lGotFilter)
1093 _projectionEntry = false; 1109 _projectionEntry = false;
1094
1095 } 1110 }
1096 1111
1097 public void ReadSculptData(byte[] data, int pos) 1112 public void ReadSculptData(byte[] data, int pos)
@@ -1120,6 +1135,7 @@ namespace OpenSim.Framework
1120 if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4) 1135 if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4)
1121 _sculptType = 4; 1136 _sculptType = 4;
1122 } 1137 }
1138
1123 _sculptTexture = SculptUUID; 1139 _sculptTexture = SculptUUID;
1124 _sculptType = SculptTypel; 1140 _sculptType = SculptTypel;
1125 //m_log.Info("[SCULPT]:" + SculptUUID.ToString()); 1141 //m_log.Info("[SCULPT]:" + SculptUUID.ToString());
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 5ace351..b8b1039 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -324,10 +324,25 @@ namespace OpenSim.Framework
324 } 324 }
325 325
326 /// <summary> 326 /// <summary>
327 /// Debug utility function to convert OSD into formatted XML for debugging purposes.
328 /// </summary>
329 /// <param name="osd">
330 /// A <see cref="OSD"/>
331 /// </param>
332 /// <returns>
333 /// A <see cref="System.String"/>
334 /// </returns>
335 public static string GetFormattedXml(OSD osd)
336 {
337 return GetFormattedXml(OSDParser.SerializeLLSDXmlString(osd));
338 }
339
340 /// <summary>
327 /// Debug utility function to convert unbroken strings of XML into something human readable for occasional debugging purposes. 341 /// Debug utility function to convert unbroken strings of XML into something human readable for occasional debugging purposes.
328 ///
329 /// Please don't delete me even if I appear currently unused!
330 /// </summary> 342 /// </summary>
343 /// <remarks>
344 /// Please don't delete me even if I appear currently unused!
345 /// </remarks>
331 /// <param name="rawXml"></param> 346 /// <param name="rawXml"></param>
332 /// <returns></returns> 347 /// <returns></returns>
333 public static string GetFormattedXml(string rawXml) 348 public static string GetFormattedXml(string rawXml)
@@ -431,26 +446,36 @@ namespace OpenSim.Framework
431 } 446 }
432 447
433 /// <summary> 448 /// <summary>
434 /// Return an SHA1 hash of the given string 449 /// Return an SHA1 hash
435 /// </summary> 450 /// </summary>
436 /// <param name="data"></param> 451 /// <param name="data"></param>
437 /// <returns></returns> 452 /// <returns></returns>
438 453
454 public static string SHA1Hash(string data, Encoding enc)
455 {
456 return SHA1Hash(enc.GetBytes(data));
457 }
458
439 public static string SHA1Hash(string data) 459 public static string SHA1Hash(string data)
440 { 460 {
441 return SHA1Hash(data, Encoding.Default); 461 return SHA1Hash(Encoding.Default.GetBytes(data));
442 } 462 }
443 463
444 public static string SHA1Hash(string data, Encoding encoding) 464 /// <summary>
465 /// Return an SHA1 hash
466 /// </summary>
467 /// <param name="data"></param>
468 /// <returns></returns>
469 public static string SHA1Hash(byte[] data)
445 { 470 {
446 byte[] hash = ComputeSHA1Hash(data, encoding); 471 byte[] hash = ComputeSHA1Hash(data);
447 return BitConverter.ToString(hash).Replace("-", String.Empty); 472 return BitConverter.ToString(hash).Replace("-", String.Empty);
448 } 473 }
449 474
450 private static byte[] ComputeSHA1Hash(string src, Encoding encoding) 475 private static byte[] ComputeSHA1Hash(byte[] src)
451 { 476 {
452 SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider(); 477 SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider();
453 return SHA1.ComputeHash(encoding.GetBytes(src)); 478 return SHA1.ComputeHash(src);
454 } 479 }
455 480
456 public static int fast_distance2d(int x, int y) 481 public static int fast_distance2d(int x, int y)