* Completed a partial port of OpenSim's LSL API. Thank you to everyone on the OpenSim team for their hard work on this incredibly large feature
* Added Agent.GetSimulatorPosition()
* Corrected default PrimFlags for agents and prims
* Stubs for encoding/decoding prim linkset assets
* Route chat through the scene
* Stub for grid messaging (IM and email)
* Add GetTerrainHeightAt(), removed duplicate heightmap storage in Movement.cs
* Added a permissions manager stub
* Store wind speeds, added functions to get wind speed
* Make sure all of the important prim properties are set before creating an object
* Lots of new object manipulation functions in scene
* Properly clean up event queues on agent exit
* Stubbed out a space for a scripting engine
* Stubbed out task inventory
* Added ScriptingConsole, which allows you to run LSL functions from the chat console
* Added new PacketCategory, Messaging, for chat-related packets
* Fixed InventoryObject overrides
* Added a NotecardCache, useful for the scripting engine and may become generally useful later
* Added several helper functions and new members to SimulationObject

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2462 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2009-03-02 23:00:28 +00:00
parent 12375d40e9
commit abf0c15384
30 changed files with 10378 additions and 255 deletions

View File

@@ -115,13 +115,7 @@ namespace Simian.Extensions
// Create an object
Primitive prim = new Primitive();
prim.Flags =
PrimFlags.ObjectModify |
PrimFlags.ObjectCopy |
PrimFlags.ObjectAnyOwner |
PrimFlags.ObjectMove |
PrimFlags.ObjectTransfer |
PrimFlags.ObjectOwnerModify;
// TODO: Security check
prim.GroupID = add.AgentData.GroupID;
prim.ID = UUID.Random();
@@ -159,18 +153,17 @@ namespace Simian.Extensions
prim.Properties.Name = "New Object";
prim.Properties.ObjectID = prim.ID;
prim.Properties.OwnerID = prim.OwnerID;
prim.Properties.Permissions = Permissions.FullPermissions;
prim.Properties.Permissions = server.Permissions.GetDefaultPermissions();
prim.Properties.SalePrice = 10;
prim.RegionHandle = server.Scene.RegionHandle;
prim.Rotation = add.ObjectData.Rotation;
prim.Scale = scale;
prim.Textures = new Primitive.TextureEntry(Primitive.TextureEntry.WHITE_TEXTURE);
prim.TextColor = Color4.Black;
// Add this prim to the object database
SimulationObject simObj = new SimulationObject(prim, server);
server.Scene.ObjectAdd(this, simObj, flags);
server.Scene.ObjectAdd(this, simObj, agent.Avatar.ID, 0, flags);
}
void ObjectDuplicateHandler(Packet packet, Agent agent)
@@ -191,7 +184,7 @@ namespace Simian.Extensions
newObj.Prim.Position += offset;
newObj.Prim.ID = UUID.Random();
server.Scene.ObjectAdd(this, newObj, flags);
server.Scene.ObjectAdd(this, newObj, agent.Avatar.ID, 0, flags);
}
else
{
@@ -341,7 +334,6 @@ namespace Simian.Extensions
update.RegionData.TimeDilation = UInt16.MaxValue;
update.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
update.ObjectData[0] = SimulationObject.BuildUpdateBlock(linkSet[i].Prim, server.Scene.RegionHandle, linkSet[i].Prim.Flags);
if (linkSet[i].Prim.ParentID > 0)
@@ -695,7 +687,7 @@ namespace Simian.Extensions
obj.Prim.Rotation = rotation;
obj.Prim.Scale = scale;
server.Scene.ObjectAdd(this, obj, PrimFlags.None);
server.Scene.ObjectAdd(this, obj, agent.Avatar.ID, 0, PrimFlags.None);
}
else
{