aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/PrimitiveBaseShape.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/PrimitiveBaseShape.cs')
-rw-r--r--OpenSim/Framework/PrimitiveBaseShape.cs48
1 files changed, 32 insertions, 16 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs
index 7b5fb2e..d873071 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 }
@@ -849,6 +861,8 @@ namespace OpenSim.Framework
849 861
850 public byte[] ExtraParamsToBytes() 862 public byte[] ExtraParamsToBytes()
851 { 863 {
864// m_log.DebugFormat("[EXTRAPARAMS]: Called ExtraParamsToBytes()");
865
852 ushort FlexiEP = 0x10; 866 ushort FlexiEP = 0x10;
853 ushort LightEP = 0x20; 867 ushort LightEP = 0x20;
854 ushort SculptEP = 0x30; 868 ushort SculptEP = 0x30;
@@ -864,18 +878,21 @@ namespace OpenSim.Framework
864 TotalBytesLength += 16;// data 878 TotalBytesLength += 16;// data
865 TotalBytesLength += 2 + 4; // type 879 TotalBytesLength += 2 + 4; // type
866 } 880 }
881
867 if (_lightEntry) 882 if (_lightEntry)
868 { 883 {
869 ExtraParamsNum++; 884 ExtraParamsNum++;
870 TotalBytesLength += 16;// data 885 TotalBytesLength += 16;// data
871 TotalBytesLength += 2 + 4; // type 886 TotalBytesLength += 2 + 4; // type
872 } 887 }
888
873 if (_sculptEntry) 889 if (_sculptEntry)
874 { 890 {
875 ExtraParamsNum++; 891 ExtraParamsNum++;
876 TotalBytesLength += 17;// data 892 TotalBytesLength += 17;// data
877 TotalBytesLength += 2 + 4; // type 893 TotalBytesLength += 2 + 4; // type
878 } 894 }
895
879 if (_projectionEntry) 896 if (_projectionEntry)
880 { 897 {
881 ExtraParamsNum++; 898 ExtraParamsNum++;
@@ -885,7 +902,6 @@ namespace OpenSim.Framework
885 902
886 byte[] returnbytes = new byte[TotalBytesLength]; 903 byte[] returnbytes = new byte[TotalBytesLength];
887 904
888
889 // uint paramlength = ExtraParamsNum; 905 // uint paramlength = ExtraParamsNum;
890 906
891 // Stick in the number of parameters 907 // Stick in the number of parameters
@@ -905,6 +921,7 @@ namespace OpenSim.Framework
905 Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length); 921 Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length);
906 i += FlexiData.Length; 922 i += FlexiData.Length;
907 } 923 }
924
908 if (_lightEntry) 925 if (_lightEntry)
909 { 926 {
910 byte[] LightData = GetLightBytes(); 927 byte[] LightData = GetLightBytes();
@@ -919,6 +936,7 @@ namespace OpenSim.Framework
919 Array.Copy(LightData, 0, returnbytes, i, LightData.Length); 936 Array.Copy(LightData, 0, returnbytes, i, LightData.Length);
920 i += LightData.Length; 937 i += LightData.Length;
921 } 938 }
939
922 if (_sculptEntry) 940 if (_sculptEntry)
923 { 941 {
924 byte[] SculptData = GetSculptBytes(); 942 byte[] SculptData = GetSculptBytes();
@@ -933,6 +951,7 @@ namespace OpenSim.Framework
933 Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length); 951 Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length);
934 i += SculptData.Length; 952 i += SculptData.Length;
935 } 953 }
954
936 if (_projectionEntry) 955 if (_projectionEntry)
937 { 956 {
938 byte[] ProjectionData = GetProjectionBytes(); 957 byte[] ProjectionData = GetProjectionBytes();
@@ -946,6 +965,7 @@ namespace OpenSim.Framework
946 Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length); 965 Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length);
947 i += ProjectionData.Length; 966 i += ProjectionData.Length;
948 } 967 }
968
949 if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry) 969 if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry)
950 { 970 {
951 byte[] returnbyte = new byte[1]; 971 byte[] returnbyte = new byte[1];
@@ -953,10 +973,7 @@ namespace OpenSim.Framework
953 return returnbyte; 973 return returnbyte;
954 } 974 }
955 975
956
957 return returnbytes; 976 return returnbytes;
958 //m_log.Info("[EXTRAPARAMS]: Length = " + m_shape.ExtraParams.Length.ToString());
959
960 } 977 }
961 978
962 public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data) 979 public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data)
@@ -1027,7 +1044,6 @@ namespace OpenSim.Framework
1027 extraParamCount = data[i++]; 1044 extraParamCount = data[i++];
1028 } 1045 }
1029 1046
1030
1031 for (int k = 0; k < extraParamCount; k++) 1047 for (int k = 0; k < extraParamCount; k++)
1032 { 1048 {
1033 ushort epType = Utils.BytesToUInt16(data, i); 1049 ushort epType = Utils.BytesToUInt16(data, i);
@@ -1071,7 +1087,6 @@ namespace OpenSim.Framework
1071 _sculptEntry = false; 1087 _sculptEntry = false;
1072 if (!lGotFilter) 1088 if (!lGotFilter)
1073 _projectionEntry = false; 1089 _projectionEntry = false;
1074
1075 } 1090 }
1076 1091
1077 public void ReadSculptData(byte[] data, int pos) 1092 public void ReadSculptData(byte[] data, int pos)
@@ -1100,6 +1115,7 @@ namespace OpenSim.Framework
1100 if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4) 1115 if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4)
1101 _sculptType = 4; 1116 _sculptType = 4;
1102 } 1117 }
1118
1103 _sculptTexture = SculptUUID; 1119 _sculptTexture = SculptUUID;
1104 _sculptType = SculptTypel; 1120 _sculptType = SculptTypel;
1105 //m_log.Info("[SCULPT]:" + SculptUUID.ToString()); 1121 //m_log.Info("[SCULPT]:" + SculptUUID.ToString());