From b3efab2bbdc71b201c1c2fb641f54de0b189f9ef Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 31 May 2011 17:48:37 -0700 Subject: [PATCH] Add ChangingActorID setting for value changes from physics engine. Works much better distributed --- addon-modules/BulletSPlugin/BSCharacter.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addon-modules/BulletSPlugin/BSCharacter.cs b/addon-modules/BulletSPlugin/BSCharacter.cs index 8c7a1d6269..fa9fc8d4b9 100644 --- a/addon-modules/BulletSPlugin/BSCharacter.cs +++ b/addon-modules/BulletSPlugin/BSCharacter.cs @@ -127,7 +127,8 @@ public class BSCharacter : PhysicsActor 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) + // if (this.lastValues.Changed(this) && ChangingActorID == RegionSyncServerModule.ActorID) + if (ChangingActorID == RegionSyncServerModule.ActorID) { // m_log.DebugFormat("{0}: Sending terse update for {1}", LogHeader, LocalID); PhysEngineToSceneConnectorModule.RouteUpdate(this); @@ -193,6 +194,7 @@ public class BSCharacter : PhysicsActor get { return _force; } set { _force = value; + base.ChangingActorID = RegionSyncServerModule.ActorID; // m_log.DebugFormat("{0}: Force = {1}", LogHeader, _force); _scene.TaintedObject(delegate() { @@ -404,6 +406,7 @@ public class BSCharacter : PhysicsActor } if (changed) { + base.ChangingActorID = RegionSyncServerModule.ActorID; this.RequestPhysicsterseUpdate(); } }