aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorlbsa712007-07-18 09:36:47 +0000
committerlbsa712007-07-18 09:36:47 +0000
commitf70ec1fa75ef526266ad359d2db0e25f2635c182 (patch)
tree0ce6f6df1702d849532d1818c76c2bd301fb4579
parent* One hopefully-final attempt at fixing this remoting issue. (diff)
downloadopensim-SC-f70ec1fa75ef526266ad359d2db0e25f2635c182.zip
opensim-SC-f70ec1fa75ef526266ad359d2db0e25f2635c182.tar.gz
opensim-SC-f70ec1fa75ef526266ad359d2db0e25f2635c182.tar.bz2
opensim-SC-f70ec1fa75ef526266ad359d2db0e25f2635c182.tar.xz
* Added a FileSystemObject to SimpleApp
* Added Some ShapeTypes (shapes doesn't work though!) * Fixed some \0 issues
-rw-r--r--OpenSim/Framework/General/Types/PrimData.cs58
-rw-r--r--OpenSim/Framework/General/Types/PrimitiveBaseShape.cs74
-rw-r--r--OpenSim/Region/ClientStack/ClientView.API.cs4
-rw-r--r--OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs31
-rw-r--r--OpenSim/Region/Examples/SimpleApp/Program.cs26
5 files changed, 131 insertions, 62 deletions
diff --git a/OpenSim/Framework/General/Types/PrimData.cs b/OpenSim/Framework/General/Types/PrimData.cs
index 6b8fa3a..9b24c0f 100644
--- a/OpenSim/Framework/General/Types/PrimData.cs
+++ b/OpenSim/Framework/General/Types/PrimData.cs
@@ -194,35 +194,35 @@ namespace OpenSim.Framework.Types
194 return bytes; 194 return bytes;
195 } 195 }
196 196
197 public static PrimData DefaultCube() 197 //public static PrimData DefaultCube()
198 { 198 //{
199 PrimData primData = new PrimData(); 199 // PrimData primData = new PrimData();
200 primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; 200 // primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
201 primData.FullID = LLUUID.Random(); 201 // primData.FullID = LLUUID.Random();
202 primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f); 202 // primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
203 primData.Rotation = new LLQuaternion(0, 0, 0, 1); 203 // primData.Rotation = new LLQuaternion(0, 0, 0, 1);
204 primData.PCode = 9; 204 // primData.PCode = 9;
205 primData.ParentID = 0; 205 // primData.ParentID = 0;
206 primData.PathBegin = 0; 206 // primData.PathBegin = 0;
207 primData.PathEnd = 0; 207 // primData.PathEnd = 0;
208 primData.PathScaleX = 0; 208 // primData.PathScaleX = 0;
209 primData.PathScaleY = 0; 209 // primData.PathScaleY = 0;
210 primData.PathShearX = 0; 210 // primData.PathShearX = 0;
211 primData.PathShearY = 0; 211 // primData.PathShearY = 0;
212 primData.PathSkew = 0; 212 // primData.PathSkew = 0;
213 primData.ProfileBegin = 0; 213 // primData.ProfileBegin = 0;
214 primData.ProfileEnd = 0; 214 // primData.ProfileEnd = 0;
215 primData.PathCurve = 16; 215 // primData.PathCurve = 16;
216 primData.ProfileCurve = 1; 216 // primData.ProfileCurve = 1;
217 primData.ProfileHollow = 0; 217 // primData.ProfileHollow = 0;
218 primData.PathRadiusOffset = 0; 218 // primData.PathRadiusOffset = 0;
219 primData.PathRevolutions = 0; 219 // primData.PathRevolutions = 0;
220 primData.PathTaperX = 0; 220 // primData.PathTaperX = 0;
221 primData.PathTaperY = 0; 221 // primData.PathTaperY = 0;
222 primData.PathTwist = 0; 222 // primData.PathTwist = 0;
223 primData.PathTwistBegin = 0; 223 // primData.PathTwistBegin = 0;
224 224
225 return primData; 225 // return primData;
226 } 226 //}
227 } 227 }
228} 228}
diff --git a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
index e058c07..9ab6071 100644
--- a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
@@ -19,7 +19,7 @@ namespace OpenSim.Framework.Types
19 19
20 public class PrimitiveBaseShape 20 public class PrimitiveBaseShape
21 { 21 {
22 private ShapeType type = ShapeType.Unknown; 22 protected ShapeType type = ShapeType.Unknown;
23 23
24 public byte PCode; 24 public byte PCode;
25 public ushort PathBegin; 25 public ushort PathBegin;
@@ -72,38 +72,56 @@ namespace OpenSim.Framework.Types
72 72
73 public PrimitiveBaseShape Copy() 73 public PrimitiveBaseShape Copy()
74 { 74 {
75 return (PrimitiveBaseShape) this.MemberwiseClone(); 75 return (PrimitiveBaseShape)this.MemberwiseClone();
76 } 76 }
77 }
77 78
78 public static PrimitiveBaseShape DefaultBox() 79 public class BoxShape : PrimitiveBaseShape
80 {
81 public BoxShape()
79 { 82 {
80 PrimitiveBaseShape primShape = new PrimitiveBaseShape(); 83 type = ShapeType.Box;
84 }
85
86 public static BoxShape Default
87 {
88 get
89 {
90 BoxShape primShape = new BoxShape();
81 91
82 primShape.type = ShapeType.Box; 92 primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
83 primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f); 93 primShape.PCode = 9;
84 primShape.PCode = 9; 94 primShape.PathBegin = 0;
85 primShape.PathBegin = 0; 95 primShape.PathEnd = 0;
86 primShape.PathEnd = 0; 96 primShape.PathScaleX = 0;
87 primShape.PathScaleX = 0; 97 primShape.PathScaleY = 0;
88 primShape.PathScaleY = 0; 98 primShape.PathShearX = 0;
89 primShape.PathShearX = 0; 99 primShape.PathShearY = 0;
90 primShape.PathShearY = 0; 100 primShape.PathSkew = 0;
91 primShape.PathSkew = 0; 101 primShape.ProfileBegin = 0;
92 primShape.ProfileBegin = 0; 102 primShape.ProfileEnd = 0;
93 primShape.ProfileEnd = 0; 103 primShape.PathCurve = 16;
94 primShape.PathCurve = 16; 104 primShape.ProfileCurve = 1;
95 primShape.ProfileCurve = 1; 105 primShape.ProfileHollow = 0;
96 primShape.ProfileHollow = 0; 106 primShape.PathRadiusOffset = 0;
97 primShape.PathRadiusOffset = 0; 107 primShape.PathRevolutions = 0;
98 primShape.PathRevolutions = 0; 108 primShape.PathTaperX = 0;
99 primShape.PathTaperX = 0; 109 primShape.PathTaperY = 0;
100 primShape.PathTaperY = 0; 110 primShape.PathTwist = 0;
101 primShape.PathTwist = 0; 111 primShape.PathTwistBegin = 0;
102 primShape.PathTwistBegin = 0; 112 LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
103 LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")); 113 primShape.TextureEntry = ntex.ToBytes();
104 primShape.TextureEntry = ntex.ToBytes();
105 114
106 return primShape; 115 return primShape;
116 }
117 }
118 }
119
120 public class SphereShape : PrimitiveBaseShape
121 {
122 public SphereShape()
123 {
124 type = ShapeType.Sphere;
107 } 125 }
108 } 126 }
109} 127}
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs
index 2ac1000..044ad68 100644
--- a/OpenSim/Region/ClientStack/ClientView.API.cs
+++ b/OpenSim/Region/ClientStack/ClientView.API.cs
@@ -779,7 +779,7 @@ namespace OpenSim.Region.ClientStack
779 outPacket.ObjectData[0].ID = localID; 779 outPacket.ObjectData[0].ID = localID;
780 outPacket.ObjectData[0].FullID = objectID; 780 outPacket.ObjectData[0].FullID = objectID;
781 outPacket.ObjectData[0].OwnerID = ownerID; 781 outPacket.ObjectData[0].OwnerID = ownerID;
782 outPacket.ObjectData[0].Text = enc.GetBytes(text); 782 outPacket.ObjectData[0].Text = Helpers.StringToField( text );
783 outPacket.ObjectData[0].ParentID = parentID; 783 outPacket.ObjectData[0].ParentID = parentID;
784 byte[] pb = pos.GetBytes(); 784 byte[] pb = pos.GetBytes();
785 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 785 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
@@ -798,7 +798,7 @@ namespace OpenSim.Region.ClientStack
798 outPacket.ObjectData[0].ID = localID; 798 outPacket.ObjectData[0].ID = localID;
799 outPacket.ObjectData[0].FullID = objectID; 799 outPacket.ObjectData[0].FullID = objectID;
800 outPacket.ObjectData[0].OwnerID = ownerID; 800 outPacket.ObjectData[0].OwnerID = ownerID;
801 outPacket.ObjectData[0].Text = enc.GetBytes(text); 801 outPacket.ObjectData[0].Text = Helpers.StringToField( text );
802 outPacket.ObjectData[0].ParentID = parentID; 802 outPacket.ObjectData[0].ParentID = parentID;
803 byte[] pb = pos.GetBytes(); 803 byte[] pb = pos.GetBytes();
804 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); 804 Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
diff --git a/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs b/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs
new file mode 100644
index 0000000..2e43fe6
--- /dev/null
+++ b/OpenSim/Region/Examples/SimpleApp/FileSystemObject.cs
@@ -0,0 +1,31 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using OpenSim.Region.Environment.Scenes;
5using libsecondlife;
6using OpenSim.Framework.Types;
7using System.Timers;
8using System.Diagnostics;
9using System.IO;
10using Primitive=OpenSim.Region.Environment.Scenes.Primitive;
11
12namespace SimpleApp
13{
14 public class FileSystemObject : SceneObject
15 {
16 public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
17 : base( world, world.EventManager, LLUUID.Zero, world.NextLocalId, pos, BoxShape.Default )
18 {
19
20
21 float size = (float)Math.Pow((double)fileInfo.Length, (double) 1 / 3) / 5;
22 rootPrimitive.ResizeGoup(new LLVector3(size, size, size));
23 rootPrimitive.Text = fileInfo.Name;
24 }
25
26 public override void Update()
27 {
28 base.Update();
29 }
30 }
31}
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs
index 4dae461..82dba0e 100644
--- a/OpenSim/Region/Examples/SimpleApp/Program.cs
+++ b/OpenSim/Region/Examples/SimpleApp/Program.cs
@@ -17,6 +17,7 @@ using System.Timers;
17using OpenSim.Region.Environment.Scenes; 17using OpenSim.Region.Environment.Scenes;
18using OpenSim.Framework.Data; 18using OpenSim.Framework.Data;
19using OpenSim.Region.Environment; 19using OpenSim.Region.Environment;
20using System.IO;
20 21
21namespace SimpleApp 22namespace SimpleApp
22{ 23{
@@ -58,16 +59,35 @@ namespace SimpleApp
58 59
59 udpServer.ServerListener(); 60 udpServer.ServerListener();
60 61
61 PrimitiveBaseShape shape = PrimitiveBaseShape.DefaultBox(); 62 PrimitiveBaseShape shape = BoxShape.Default;
62 shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f); 63 shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
63 LLVector3 pos = new LLVector3(138, 129, 27); 64 LLVector3 pos = new LLVector3(138, 129, 27);
64 65
65 SceneObject m_sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape); 66 SceneObject sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
66 scene.AddEntity(m_sceneObject); 67 scene.AddEntity(sceneObject);
67 68
68 MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager ); 69 MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager );
69 scene.AddNewClient(m_character, false); 70 scene.AddNewClient(m_character, false);
70 71
72 DirectoryInfo dirInfo = new DirectoryInfo( "." );
73
74 float x = 0;
75 float z = 0;
76
77 foreach( FileInfo fileInfo in dirInfo.GetFiles())
78 {
79 LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
80 x = x + 2;
81 if( x > 50 )
82 {
83 x = 0;
84 z = z + 2;
85 }
86
87 FileSystemObject fileObject = new FileSystemObject( scene, fileInfo, filePos );
88 scene.AddEntity(fileObject);
89 }
90
71 m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit."); 91 m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
72 m_log.ReadLine(); 92 m_log.ReadLine();
73 } 93 }