Restore physics bucket serialization that was lost in previous commit
parent
b76c233db3
commit
59fbb9cbef
|
@ -718,38 +718,44 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
{
|
||||
updatedPart.UpdateTaintedBucketSyncInfo(bucketName, DateTime.Now.Ticks);
|
||||
|
||||
Physics.Manager.PhysicsActor pa = updatedPart.PhysActor;
|
||||
if (pa == null)
|
||||
return;
|
||||
|
||||
OSDMap data = new OSDMap();
|
||||
|
||||
data["UUID"] = OSD.FromUUID(updatedPart.UUID);
|
||||
// data["UUID"] = OSD.FromUUID(updatedPart.UUID);
|
||||
data["UUID"] = OSD.FromUUID(pa.UUID);
|
||||
data["Bucket"] = OSD.FromString(bucketName);
|
||||
|
||||
data["GroupPosition"] = OSD.FromVector3(updatedPart.GroupPosition);
|
||||
data["OffsetPosition"] = OSD.FromVector3(updatedPart.OffsetPosition);
|
||||
data["RotationOffset"] = OSD.FromQuaternion(updatedPart.RotationOffset);
|
||||
data["Velocity"] = OSD.FromVector3(updatedPart.Velocity);
|
||||
data["Scale"] = OSD.FromVector3(updatedPart.Scale);
|
||||
//Other properties to be included
|
||||
/*
|
||||
"Position":
|
||||
"Size":
|
||||
"Force":
|
||||
"RotationalVelocity":
|
||||
"PA_Acceleration":
|
||||
"Torque":
|
||||
"Orientation":
|
||||
"IsPhysical":
|
||||
"Flying":
|
||||
"Buoyancy":
|
||||
* */
|
||||
data["AngularVelocity"] = OSD.FromVector3(updatedPart.AngularVelocity);
|
||||
data["RotationOffset"] = OSD.FromQuaternion(updatedPart.RotationOffset);
|
||||
data["Size"] = OSD.FromVector3(pa.Size);
|
||||
data["Position"] = OSD.FromVector3(pa.Position);
|
||||
data["Force"] = OSD.FromVector3(pa.Force);
|
||||
data["Velocity"] = OSD.FromVector3(pa.Velocity);
|
||||
data["RotationalVelocity"] = OSD.FromVector3(pa.RotationalVelocity);
|
||||
data["PA_Acceleration"] = OSD.FromVector3(pa.Acceleration);
|
||||
data["Torque"] = OSD.FromVector3(pa.Torque);
|
||||
data["Orientation"] = OSD.FromQuaternion(pa.Orientation);
|
||||
data["IsPhysical"] = OSD.FromBoolean(pa.IsPhysical);
|
||||
data["Flying"] = OSD.FromBoolean(pa.Flying);
|
||||
data["Kinematic"] = OSD.FromBoolean(pa.Kinematic);
|
||||
data["Buoyancy"] = OSD.FromReal(pa.Buoyancy);
|
||||
data["CollidingGround"] = OSD.FromBoolean(pa.CollidingGround);
|
||||
data["IsColliding"] = OSD.FromBoolean(pa.IsColliding);
|
||||
|
||||
data["LastUpdateTimeStamp"] = OSD.FromLong(updatedPart.BucketSyncInfoList[bucketName].LastUpdateTimeStamp);
|
||||
data["LastUpdateActorID"] = OSD.FromString(updatedPart.BucketSyncInfoList[bucketName].LastUpdateActorID);
|
||||
|
||||
SymmetricSyncMessage syncMsg = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.UpdatedBucketProperties, OSDParser.SerializeJsonString(data));
|
||||
m_log.DebugFormat("{0}: PhysBucketSender for {1}, pos={2}", LogHeader, updatedPart.UUID.ToString(), pa.Position.ToString());
|
||||
SendObjectUpdateToRelevantSyncConnectors(updatedPart, syncMsg);
|
||||
}
|
||||
}
|
||||
|
||||
//If nothing configured in the config file, this is the default settings for grouping properties into different bucket
|
||||
private void PopulatePropertyBuketMapByDefault()
|
||||
{
|
||||
|
@ -772,19 +778,22 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
case SceneObjectPartProperties.GroupPosition:
|
||||
case SceneObjectPartProperties.OffsetPosition:
|
||||
case SceneObjectPartProperties.Scale:
|
||||
case SceneObjectPartProperties.Velocity:
|
||||
case SceneObjectPartProperties.AngularVelocity:
|
||||
case SceneObjectPartProperties.RotationOffset:
|
||||
case SceneObjectPartProperties.Position:
|
||||
case SceneObjectPartProperties.Size:
|
||||
case SceneObjectPartProperties.Position:
|
||||
case SceneObjectPartProperties.Force:
|
||||
case SceneObjectPartProperties.Velocity:
|
||||
case SceneObjectPartProperties.RotationalVelocity:
|
||||
case SceneObjectPartProperties.PA_Acceleration:
|
||||
case SceneObjectPartProperties.Torque:
|
||||
case SceneObjectPartProperties.Orientation:
|
||||
case SceneObjectPartProperties.IsPhysical:
|
||||
case SceneObjectPartProperties.Flying:
|
||||
case SceneObjectPartProperties.Kinematic:
|
||||
case SceneObjectPartProperties.Buoyancy:
|
||||
case SceneObjectPartProperties.IsCollidingGround:
|
||||
case SceneObjectPartProperties.IsColliding:
|
||||
m_primPropertyBucketMap.Add(property, physicsBucketName);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue