diff --git a/QSB/Syncs/RigidbodySync/UnparentedBaseRigidbodySync.cs b/QSB/Syncs/RigidbodySync/UnparentedBaseRigidbodySync.cs index a6e417bb..15f205a6 100644 --- a/QSB/Syncs/RigidbodySync/UnparentedBaseRigidbodySync.cs +++ b/QSB/Syncs/RigidbodySync/UnparentedBaseRigidbodySync.cs @@ -171,9 +171,14 @@ namespace QSB.Syncs.RigidbodySync return; } - DebugLog.DebugWrite($"{GetType().Name} set reference transform to {transform.name}"); ReferenceTransform = transform; _intermediaryTransform.SetReferenceTransform(transform); + + if (HasAuthority || NetIdentity.ClientAuthorityOwner == null) + { + _intermediaryTransform.EncodePosition(AttachedObject.transform.position); + _intermediaryTransform.EncodeRotation(AttachedObject.transform.rotation); + } } // TODO : optimize by using sqrMagnitude diff --git a/QSB/Syncs/TransformSync/BaseTransformSync.cs b/QSB/Syncs/TransformSync/BaseTransformSync.cs index cc8b0949..61965168 100644 --- a/QSB/Syncs/TransformSync/BaseTransformSync.cs +++ b/QSB/Syncs/TransformSync/BaseTransformSync.cs @@ -183,7 +183,6 @@ namespace QSB.Syncs.TransformSync return; } - DebugLog.DebugWrite($"{_logName} set reference transform to {transform.name}"); ReferenceTransform = transform; _intermediaryTransform.SetReferenceTransform(transform); if (AttachedObject == null) @@ -199,6 +198,12 @@ namespace QSB.Syncs.TransformSync { ReparentAttachedObject(transform); } + + if (HasAuthority || NetIdentity.ClientAuthorityOwner == null) + { + _intermediaryTransform.EncodePosition(AttachedObject.transform.position); + _intermediaryTransform.EncodeRotation(AttachedObject.transform.rotation); + } } private void ReparentAttachedObject(Transform newParent) diff --git a/QSB/Syncs/TransformSync/SectoredTransformSync.cs b/QSB/Syncs/TransformSync/SectoredTransformSync.cs index 2f5fb7ec..5c6dce7b 100644 --- a/QSB/Syncs/TransformSync/SectoredTransformSync.cs +++ b/QSB/Syncs/TransformSync/SectoredTransformSync.cs @@ -121,7 +121,6 @@ namespace QSB.Syncs.TransformSync public void SetReferenceSector(QSBSector sector) { - DebugLog.DebugWrite($"{Player.PlayerId}.{GetType().Name} set reference sector to {sector.Name}"); ReferenceSector = sector; SetReferenceTransform(sector?.Transform); } diff --git a/QSB/Syncs/TransformSync/UnparentedBaseTransformSync.cs b/QSB/Syncs/TransformSync/UnparentedBaseTransformSync.cs index c514ae32..237102e9 100644 --- a/QSB/Syncs/TransformSync/UnparentedBaseTransformSync.cs +++ b/QSB/Syncs/TransformSync/UnparentedBaseTransformSync.cs @@ -125,9 +125,14 @@ namespace QSB.Syncs.TransformSync return; } - DebugLog.DebugWrite($"{PlayerId}.{GetType().Name} set reference transform to {transform.name}"); ReferenceTransform = transform; _intermediaryTransform.SetReferenceTransform(transform); + + if (HasAuthority || NetIdentity.ClientAuthorityOwner == null) + { + _intermediaryTransform.EncodePosition(AttachedObject.transform.position); + _intermediaryTransform.EncodeRotation(AttachedObject.transform.rotation); + } } } }