Make PECharacter sync PhysActor info back to physics actor. Remove some chatty debug messages. Add checks to warn if PhysicsActor synchronization is acting on a prim rather than a character.
parent
400c9b5293
commit
6b9d58b99b
|
@ -379,10 +379,14 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
{
|
||||
UUID uuid = data["uuid"].AsUUID();
|
||||
string actorID = data["actorID"].AsString();
|
||||
// m_log.DebugFormat("{0}: HandlPhysUpdateAttributes for {1}", LogHeader, uuid);
|
||||
m_log.DebugFormat("{0}: HandlPhysUpdateAttributes for {1}", LogHeader, uuid);
|
||||
PhysicsActor pa = FindPhysicsActor(uuid);
|
||||
if (pa != null)
|
||||
{
|
||||
if (pa.PhysicsActorType == (int)ActorTypes.Prim)
|
||||
{
|
||||
m_log.WarnFormat("{0}: HandlePhysUpdateAttributes for an prim: {1}", LogHeader, pa.UUID);
|
||||
}
|
||||
// pa.Size = data["size"].AsVector3();
|
||||
pa.Position = data["position"].AsVector3();
|
||||
pa.Force = data["force"].AsVector3();
|
||||
|
@ -436,6 +440,10 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
public void SendPhysUpdateAttributes(PhysicsActor pa)
|
||||
{
|
||||
// m_log.DebugFormat("{0}: SendPhysUpdateAttributes for {1}", LogHeader, pa.UUID);
|
||||
if (pa.PhysicsActorType == (int)ActorTypes.Prim)
|
||||
{
|
||||
m_log.WarnFormat("{0}: SendPhysUpdateAttributes for an prim: {1}", LogHeader, pa.UUID);
|
||||
}
|
||||
OSDMap data = new OSDMap(17);
|
||||
data["time"] = OSD.FromString(DateTime.Now.ToString("yyyyMMddHHmmssfff"));
|
||||
data["localID"] = OSD.FromUInteger(pa.LocalID);
|
||||
|
|
|
@ -346,6 +346,10 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
PhysicsActor pa = FindPhysicsActor(uuid);
|
||||
if (pa != null)
|
||||
{
|
||||
if (pa.PhysicsActorType == (int)ActorTypes.Prim)
|
||||
{
|
||||
m_log.WarnFormat("{0}: HandlePhysUpdateAttributes for an prim: {1}", LogHeader, pa.UUID);
|
||||
}
|
||||
pa.Size = data["size"].AsVector3();
|
||||
pa.Position = data["position"].AsVector3();
|
||||
pa.Force = data["force"].AsVector3();
|
||||
|
@ -397,6 +401,10 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
public void SendPhysUpdateAttributes(PhysicsActor pa)
|
||||
{
|
||||
// m_log.DebugFormat("{0}: sending PhysUpdateAttributes for {1}", LogHeader, pa.UUID);
|
||||
if (pa.PhysicsActorType == (int)ActorTypes.Prim)
|
||||
{
|
||||
m_log.WarnFormat("{0}: SendPhysUpdateAttributes for an prim: {1}", LogHeader, pa.UUID);
|
||||
}
|
||||
OSDMap data = new OSDMap(15);
|
||||
data["time"] = OSD.FromString(DateTime.Now.ToString("yyyyMMddHHmmssfff"));
|
||||
data["localID"] = OSD.FromUInteger(pa.LocalID);
|
||||
|
|
|
@ -1643,7 +1643,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
// m_log.DebugFormat("{0} {1}", update_movementflag, (update_rotation && DCFlagKeyPressed));
|
||||
// m_log.DebugFormat(
|
||||
// "In {0} adding velocity to {1} of {2}", m_scene.RegionInfo.RegionName, Name, agent_control_v3);
|
||||
// "[SCENE PRESENCE] In {0} adding velocity to {1} of {2}", m_scene.RegionInfo.RegionName, Name, agent_control_v3);
|
||||
|
||||
AddNewMovement(agent_control_v3, q);
|
||||
|
||||
|
@ -2443,7 +2443,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// </summary>
|
||||
public void SendTerseUpdateToAllClients()
|
||||
{
|
||||
m_log.DebugFormat("[SCENE PRESENCE]: TerseUpdate: UUID={0}, pos={1}", m_physicsActor.UUID.ToString(), m_physicsActor.Position.ToString());
|
||||
// m_log.DebugFormat("[SCENE PRESENCE]: TerseUpdate: UUID={0}, pos={1}", m_physicsActor.UUID.ToString(), m_physicsActor.Position.ToString());
|
||||
// REGION SYNC
|
||||
if (m_scene.IsSyncedServer())
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@ using log4net;
|
|||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Physics.Manager;
|
||||
using OpenSim.Region.CoreModules.RegionSync.RegionSyncModule;
|
||||
|
||||
namespace OpenSim.Region.Physics.PEPlugin
|
||||
{
|
||||
|
@ -86,6 +87,24 @@ public class PECharacter : PhysicsActor
|
|||
return;
|
||||
}
|
||||
|
||||
public override void RequestPhysicsterseUpdate()
|
||||
{
|
||||
if (PhysEngineToSceneConnectorModule.IsPhysEngineActorS)
|
||||
{
|
||||
// if the values have changed and it was I who changed them, send an update
|
||||
if (this.lastValues.Changed(this) && ChangingActorID == RegionSyncServerModule.ActorID)
|
||||
{
|
||||
// m_log.DebugFormat("[ODE CHARACTER]: Sending terse update for {0}", LocalID);
|
||||
PhysEngineToSceneConnectorModule.RouteUpdate(this);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
base.RequestPhysicsterseUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override bool Stopped {
|
||||
get { return _stopped; }
|
||||
}
|
||||
|
@ -105,12 +124,12 @@ public class PECharacter : PhysicsActor
|
|||
}
|
||||
public override bool Grabbed {
|
||||
set { _grabbed = value;
|
||||
m_log.Debug("[RPE] PEChar set Grabbed");
|
||||
// m_log.Debug("[RPE] PEChar set Grabbed");
|
||||
}
|
||||
}
|
||||
public override bool Selected {
|
||||
set { _selected = value;
|
||||
m_log.Debug("[RPE] PEChar set Selected");
|
||||
// m_log.Debug("[RPE] PEChar set Selected");
|
||||
}
|
||||
}
|
||||
public override void CrossingFailure() { return; }
|
||||
|
@ -121,6 +140,7 @@ public class PECharacter : PhysicsActor
|
|||
public override Vector3 Position {
|
||||
get { return _position; }
|
||||
set { _position = value;
|
||||
base.ChangingActorID = RegionSyncServerModule.ActorID;
|
||||
}
|
||||
}
|
||||
public override float Mass {
|
||||
|
@ -133,6 +153,7 @@ public class PECharacter : PhysicsActor
|
|||
public override Vector3 Force {
|
||||
get { return _force; }
|
||||
set { _force = value;
|
||||
base.ChangingActorID = RegionSyncServerModule.ActorID;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,6 +174,7 @@ public class PECharacter : PhysicsActor
|
|||
public override Vector3 Velocity {
|
||||
get { return _velocity; }
|
||||
set { _velocity = value;
|
||||
base.ChangingActorID = RegionSyncServerModule.ActorID;
|
||||
}
|
||||
}
|
||||
public override Vector3 Torque {
|
||||
|
@ -171,6 +193,7 @@ public class PECharacter : PhysicsActor
|
|||
public override Quaternion Orientation {
|
||||
get { return _orientation; }
|
||||
set { _orientation = value;
|
||||
base.ChangingActorID = RegionSyncServerModule.ActorID;
|
||||
}
|
||||
}
|
||||
public override int PhysicsActorType {
|
||||
|
|
|
@ -96,7 +96,7 @@ public sealed class PEPrim : PhysicsActor
|
|||
}
|
||||
public override PrimitiveBaseShape Shape {
|
||||
set { _pbs = value;
|
||||
m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Shape");
|
||||
// m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Shape");
|
||||
// SyncUpdated = true;
|
||||
}
|
||||
}
|
||||
|
@ -109,12 +109,12 @@ public sealed class PEPrim : PhysicsActor
|
|||
}
|
||||
public override bool Grabbed {
|
||||
set { _grabbed = value;
|
||||
m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Grabbed");
|
||||
// m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Grabbed");
|
||||
}
|
||||
}
|
||||
public override bool Selected {
|
||||
set { _selected = value;
|
||||
m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Selected");
|
||||
// m_log.Debug("[REMOTE PRIM ENGINE] PEPrim set Selected");
|
||||
}
|
||||
}
|
||||
public override void CrossingFailure() { return; }
|
||||
|
|
Loading…
Reference in New Issue