[Simian]
* Added an IPhysicsProvider and a PhysicsSimple implementation that provides basic physics-related functionality. Currently only ray/prim intersection and getting a prim's mass * Initial prim CRC handling * Porting some LSL fixes from OpenSim git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2473 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
@@ -270,6 +270,9 @@ namespace Simian.Extensions
|
||||
obj.Prim.Textures = new Primitive.TextureEntry(new UUID("89556747-24cb-43ed-920b-47caed15465f")); // Plywood
|
||||
}
|
||||
|
||||
// Reset the prim CRC
|
||||
obj.CRC = 0;
|
||||
|
||||
// Add the object to the scene dictionary
|
||||
sceneObjects.Add(obj.Prim.LocalID, obj.Prim.ID, obj);
|
||||
|
||||
@@ -277,13 +280,13 @@ namespace Simian.Extensions
|
||||
{
|
||||
// Send an update out to the creator
|
||||
ObjectUpdatePacket updateToOwner = SimulationObject.BuildFullUpdate(obj.Prim, regionHandle,
|
||||
obj.Prim.Flags | creatorFlags | PrimFlags.ObjectYouOwner);
|
||||
obj.Prim.Flags | creatorFlags | PrimFlags.ObjectYouOwner, obj.CRC);
|
||||
server.UDP.SendPacket(obj.Prim.OwnerID, updateToOwner, PacketCategory.State);
|
||||
}
|
||||
|
||||
// Send an update out to everyone else
|
||||
ObjectUpdatePacket updateToOthers = SimulationObject.BuildFullUpdate(obj.Prim, regionHandle,
|
||||
obj.Prim.Flags);
|
||||
obj.Prim.Flags, obj.CRC);
|
||||
server.Scene.ForEachAgent(
|
||||
delegate(Agent recipient)
|
||||
{
|
||||
@@ -398,6 +401,9 @@ namespace Simian.Extensions
|
||||
obj.Prim.Acceleration = acceleration;
|
||||
obj.Prim.AngularVelocity = angularVelocity;
|
||||
|
||||
// Reset the prim CRC
|
||||
obj.CRC = 0;
|
||||
|
||||
// Inform clients
|
||||
BroadcastObjectUpdate(obj.Prim);
|
||||
}
|
||||
@@ -416,6 +422,9 @@ namespace Simian.Extensions
|
||||
// Update the object
|
||||
obj.Prim.Flags = flags;
|
||||
|
||||
// Reset the prim CRC
|
||||
obj.CRC = 0;
|
||||
|
||||
// Inform clients
|
||||
BroadcastObjectUpdate(obj.Prim);
|
||||
}
|
||||
@@ -434,6 +443,9 @@ namespace Simian.Extensions
|
||||
// Update the object
|
||||
obj.Prim.PrimData = data;
|
||||
|
||||
// Reset the prim CRC
|
||||
obj.CRC = 0;
|
||||
|
||||
// Inform clients
|
||||
BroadcastObjectUpdate(obj.Prim);
|
||||
}
|
||||
@@ -453,6 +465,9 @@ namespace Simian.Extensions
|
||||
obj.Prim.Textures = textureEntry;
|
||||
obj.Prim.MediaURL = mediaURL;
|
||||
|
||||
// Reset the prim CRC
|
||||
obj.CRC = 0;
|
||||
|
||||
// Inform clients
|
||||
BroadcastObjectUpdate(obj.Prim);
|
||||
}
|
||||
@@ -950,7 +965,7 @@ namespace Simian.Extensions
|
||||
sceneObjects.ForEach(delegate(SimulationObject obj)
|
||||
{
|
||||
ObjectUpdatePacket update = SimulationObject.BuildFullUpdate(obj.Prim,
|
||||
obj.Prim.RegionHandle, obj.Prim.Flags);
|
||||
obj.Prim.RegionHandle, obj.Prim.Flags, obj.CRC);
|
||||
server.UDP.SendPacket(agent.ID, update, PacketCategory.State);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user