* Added a FileSystemObject to SimpleApp
* Added Some ShapeTypes (shapes doesn't work though!) * Fixed some \0 issuesafrisby
parent
c52f9c04e2
commit
f70ec1fa75
|
@ -194,35 +194,35 @@ namespace OpenSim.Framework.Types
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PrimData DefaultCube()
|
//public static PrimData DefaultCube()
|
||||||
{
|
//{
|
||||||
PrimData primData = new PrimData();
|
// PrimData primData = new PrimData();
|
||||||
primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
|
// primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
|
||||||
primData.FullID = LLUUID.Random();
|
// primData.FullID = LLUUID.Random();
|
||||||
primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
// primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
||||||
primData.Rotation = new LLQuaternion(0, 0, 0, 1);
|
// primData.Rotation = new LLQuaternion(0, 0, 0, 1);
|
||||||
primData.PCode = 9;
|
// primData.PCode = 9;
|
||||||
primData.ParentID = 0;
|
// primData.ParentID = 0;
|
||||||
primData.PathBegin = 0;
|
// primData.PathBegin = 0;
|
||||||
primData.PathEnd = 0;
|
// primData.PathEnd = 0;
|
||||||
primData.PathScaleX = 0;
|
// primData.PathScaleX = 0;
|
||||||
primData.PathScaleY = 0;
|
// primData.PathScaleY = 0;
|
||||||
primData.PathShearX = 0;
|
// primData.PathShearX = 0;
|
||||||
primData.PathShearY = 0;
|
// primData.PathShearY = 0;
|
||||||
primData.PathSkew = 0;
|
// primData.PathSkew = 0;
|
||||||
primData.ProfileBegin = 0;
|
// primData.ProfileBegin = 0;
|
||||||
primData.ProfileEnd = 0;
|
// primData.ProfileEnd = 0;
|
||||||
primData.PathCurve = 16;
|
// primData.PathCurve = 16;
|
||||||
primData.ProfileCurve = 1;
|
// primData.ProfileCurve = 1;
|
||||||
primData.ProfileHollow = 0;
|
// primData.ProfileHollow = 0;
|
||||||
primData.PathRadiusOffset = 0;
|
// primData.PathRadiusOffset = 0;
|
||||||
primData.PathRevolutions = 0;
|
// primData.PathRevolutions = 0;
|
||||||
primData.PathTaperX = 0;
|
// primData.PathTaperX = 0;
|
||||||
primData.PathTaperY = 0;
|
// primData.PathTaperY = 0;
|
||||||
primData.PathTwist = 0;
|
// primData.PathTwist = 0;
|
||||||
primData.PathTwistBegin = 0;
|
// primData.PathTwistBegin = 0;
|
||||||
|
|
||||||
return primData;
|
// return primData;
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace OpenSim.Framework.Types
|
||||||
|
|
||||||
public class PrimitiveBaseShape
|
public class PrimitiveBaseShape
|
||||||
{
|
{
|
||||||
private ShapeType type = ShapeType.Unknown;
|
protected ShapeType type = ShapeType.Unknown;
|
||||||
|
|
||||||
public byte PCode;
|
public byte PCode;
|
||||||
public ushort PathBegin;
|
public ushort PathBegin;
|
||||||
|
@ -72,38 +72,56 @@ namespace OpenSim.Framework.Types
|
||||||
|
|
||||||
public PrimitiveBaseShape Copy()
|
public PrimitiveBaseShape Copy()
|
||||||
{
|
{
|
||||||
return (PrimitiveBaseShape) this.MemberwiseClone();
|
return (PrimitiveBaseShape)this.MemberwiseClone();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class BoxShape : PrimitiveBaseShape
|
||||||
|
{
|
||||||
|
public BoxShape()
|
||||||
|
{
|
||||||
|
type = ShapeType.Box;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PrimitiveBaseShape DefaultBox()
|
public static BoxShape Default
|
||||||
{
|
{
|
||||||
PrimitiveBaseShape primShape = new PrimitiveBaseShape();
|
get
|
||||||
|
{
|
||||||
|
BoxShape primShape = new BoxShape();
|
||||||
|
|
||||||
primShape.type = ShapeType.Box;
|
primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
||||||
primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
primShape.PCode = 9;
|
||||||
primShape.PCode = 9;
|
primShape.PathBegin = 0;
|
||||||
primShape.PathBegin = 0;
|
primShape.PathEnd = 0;
|
||||||
primShape.PathEnd = 0;
|
primShape.PathScaleX = 0;
|
||||||
primShape.PathScaleX = 0;
|
primShape.PathScaleY = 0;
|
||||||
primShape.PathScaleY = 0;
|
primShape.PathShearX = 0;
|
||||||
primShape.PathShearX = 0;
|
primShape.PathShearY = 0;
|
||||||
primShape.PathShearY = 0;
|
primShape.PathSkew = 0;
|
||||||
primShape.PathSkew = 0;
|
primShape.ProfileBegin = 0;
|
||||||
primShape.ProfileBegin = 0;
|
primShape.ProfileEnd = 0;
|
||||||
primShape.ProfileEnd = 0;
|
primShape.PathCurve = 16;
|
||||||
primShape.PathCurve = 16;
|
primShape.ProfileCurve = 1;
|
||||||
primShape.ProfileCurve = 1;
|
primShape.ProfileHollow = 0;
|
||||||
primShape.ProfileHollow = 0;
|
primShape.PathRadiusOffset = 0;
|
||||||
primShape.PathRadiusOffset = 0;
|
primShape.PathRevolutions = 0;
|
||||||
primShape.PathRevolutions = 0;
|
primShape.PathTaperX = 0;
|
||||||
primShape.PathTaperX = 0;
|
primShape.PathTaperY = 0;
|
||||||
primShape.PathTaperY = 0;
|
primShape.PathTwist = 0;
|
||||||
primShape.PathTwist = 0;
|
primShape.PathTwistBegin = 0;
|
||||||
primShape.PathTwistBegin = 0;
|
LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
|
||||||
LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
|
primShape.TextureEntry = ntex.ToBytes();
|
||||||
primShape.TextureEntry = ntex.ToBytes();
|
|
||||||
|
|
||||||
return primShape;
|
return primShape;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SphereShape : PrimitiveBaseShape
|
||||||
|
{
|
||||||
|
public SphereShape()
|
||||||
|
{
|
||||||
|
type = ShapeType.Sphere;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -779,7 +779,7 @@ namespace OpenSim.Region.ClientStack
|
||||||
outPacket.ObjectData[0].ID = localID;
|
outPacket.ObjectData[0].ID = localID;
|
||||||
outPacket.ObjectData[0].FullID = objectID;
|
outPacket.ObjectData[0].FullID = objectID;
|
||||||
outPacket.ObjectData[0].OwnerID = ownerID;
|
outPacket.ObjectData[0].OwnerID = ownerID;
|
||||||
outPacket.ObjectData[0].Text = enc.GetBytes(text);
|
outPacket.ObjectData[0].Text = Helpers.StringToField( text );
|
||||||
outPacket.ObjectData[0].ParentID = parentID;
|
outPacket.ObjectData[0].ParentID = parentID;
|
||||||
byte[] pb = pos.GetBytes();
|
byte[] pb = pos.GetBytes();
|
||||||
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
|
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
|
||||||
|
@ -798,7 +798,7 @@ namespace OpenSim.Region.ClientStack
|
||||||
outPacket.ObjectData[0].ID = localID;
|
outPacket.ObjectData[0].ID = localID;
|
||||||
outPacket.ObjectData[0].FullID = objectID;
|
outPacket.ObjectData[0].FullID = objectID;
|
||||||
outPacket.ObjectData[0].OwnerID = ownerID;
|
outPacket.ObjectData[0].OwnerID = ownerID;
|
||||||
outPacket.ObjectData[0].Text = enc.GetBytes(text);
|
outPacket.ObjectData[0].Text = Helpers.StringToField( text );
|
||||||
outPacket.ObjectData[0].ParentID = parentID;
|
outPacket.ObjectData[0].ParentID = parentID;
|
||||||
byte[] pb = pos.GetBytes();
|
byte[] pb = pos.GetBytes();
|
||||||
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
|
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
using libsecondlife;
|
||||||
|
using OpenSim.Framework.Types;
|
||||||
|
using System.Timers;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using Primitive=OpenSim.Region.Environment.Scenes.Primitive;
|
||||||
|
|
||||||
|
namespace SimpleApp
|
||||||
|
{
|
||||||
|
public class FileSystemObject : SceneObject
|
||||||
|
{
|
||||||
|
public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
|
||||||
|
: base( world, world.EventManager, LLUUID.Zero, world.NextLocalId, pos, BoxShape.Default )
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
float size = (float)Math.Pow((double)fileInfo.Length, (double) 1 / 3) / 5;
|
||||||
|
rootPrimitive.ResizeGoup(new LLVector3(size, size, size));
|
||||||
|
rootPrimitive.Text = fileInfo.Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Update()
|
||||||
|
{
|
||||||
|
base.Update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,6 +17,7 @@ using System.Timers;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
using OpenSim.Framework.Data;
|
using OpenSim.Framework.Data;
|
||||||
using OpenSim.Region.Environment;
|
using OpenSim.Region.Environment;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
namespace SimpleApp
|
namespace SimpleApp
|
||||||
{
|
{
|
||||||
|
@ -58,16 +59,35 @@ namespace SimpleApp
|
||||||
|
|
||||||
udpServer.ServerListener();
|
udpServer.ServerListener();
|
||||||
|
|
||||||
PrimitiveBaseShape shape = PrimitiveBaseShape.DefaultBox();
|
PrimitiveBaseShape shape = BoxShape.Default;
|
||||||
shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
||||||
LLVector3 pos = new LLVector3(138, 129, 27);
|
LLVector3 pos = new LLVector3(138, 129, 27);
|
||||||
|
|
||||||
SceneObject m_sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
|
SceneObject sceneObject = new CpuCounterObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
|
||||||
scene.AddEntity(m_sceneObject);
|
scene.AddEntity(sceneObject);
|
||||||
|
|
||||||
MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager );
|
MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager );
|
||||||
scene.AddNewClient(m_character, false);
|
scene.AddNewClient(m_character, false);
|
||||||
|
|
||||||
|
DirectoryInfo dirInfo = new DirectoryInfo( "." );
|
||||||
|
|
||||||
|
float x = 0;
|
||||||
|
float z = 0;
|
||||||
|
|
||||||
|
foreach( FileInfo fileInfo in dirInfo.GetFiles())
|
||||||
|
{
|
||||||
|
LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
|
||||||
|
x = x + 2;
|
||||||
|
if( x > 50 )
|
||||||
|
{
|
||||||
|
x = 0;
|
||||||
|
z = z + 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
FileSystemObject fileObject = new FileSystemObject( scene, fileInfo, filePos );
|
||||||
|
scene.AddEntity(fileObject);
|
||||||
|
}
|
||||||
|
|
||||||
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
|
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
|
||||||
m_log.ReadLine();
|
m_log.ReadLine();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue