diff --git a/core/src/objects/joint/jointinstance.cpp b/core/src/objects/joint/jointinstance.cpp index 522d853..a8c1364 100644 --- a/core/src/objects/joint/jointinstance.cpp +++ b/core/src/objects/joint/jointinstance.cpp @@ -48,6 +48,9 @@ void JointInstance::Update() { // Finally, build the joint buildJoint(); + + part0.lock()->trackJoint(shared()); + part1.lock()->trackJoint(shared()); } nullable std::shared_ptr JointInstance::workspaceOfPart(std::shared_ptr part) { diff --git a/core/src/objects/joint/rotate.cpp b/core/src/objects/joint/rotate.cpp index 914bc0c..9ab6d72 100644 --- a/core/src/objects/joint/rotate.cpp +++ b/core/src/objects/joint/rotate.cpp @@ -18,7 +18,6 @@ void Rotate::buildJoint() { // used to be rather than specifying an anchor rotation, so whatever. CFrame newFrame = part0.lock()->cframe * (c0 * c1.Inverse()); part1.lock()->cframe = newFrame; - part1.lock()->UpdateProperty("CFrame"); // Do NOT use Abs() in this scenario. For some reason that breaks it PhysJointHingeInfo jointInfo((part0.lock()->cframe * c0).Position(), -(part0.lock()->cframe * c0).LookVector().Unit()); diff --git a/core/src/objects/joint/rotatev.cpp b/core/src/objects/joint/rotatev.cpp index 5f6cb8c..82d2699 100644 --- a/core/src/objects/joint/rotatev.cpp +++ b/core/src/objects/joint/rotatev.cpp @@ -20,7 +20,6 @@ void RotateV::buildJoint() { // used to be rather than specifying an anchor rotation, so whatever. CFrame newFrame = part0.lock()->cframe * (c0 * c1.Inverse()); part1.lock()->cframe = newFrame; - part1.lock()->UpdateProperty("CFrame"); // Do NOT use Abs() in this scenario. For some reason that breaks it PhysJointMotorInfo jointInfo((part0.lock()->cframe * c0).Position(), -(part0.lock()->cframe * c0).LookVector().Unit()); diff --git a/core/src/objects/joint/snap.cpp b/core/src/objects/joint/snap.cpp index 2e6f4d7..2b4b777 100644 --- a/core/src/objects/joint/snap.cpp +++ b/core/src/objects/joint/snap.cpp @@ -22,7 +22,6 @@ void Snap::buildJoint() { // used to be rather than specifying an anchor rotation, so whatever. CFrame newFrame = part0.lock()->cframe * (c0 * c1.Inverse()); part1.lock()->cframe = newFrame; - part1.lock()->UpdateProperty("CFrame"); PhysJointSnapInfo jointInfo((c0.Inverse() * c1).Position()); this->joint = workspace->CreateJoint(jointInfo, part0.lock(), part1.lock()); diff --git a/core/src/objects/joint/weld.cpp b/core/src/objects/joint/weld.cpp index c356dca..49875e7 100644 --- a/core/src/objects/joint/weld.cpp +++ b/core/src/objects/joint/weld.cpp @@ -22,7 +22,6 @@ void Weld::buildJoint() { // used to be rather than specifying an anchor rotation, so whatever. CFrame newFrame = part0.lock()->cframe * (c0 * c1.Inverse()); part1.lock()->cframe = newFrame; - part1.lock()->UpdateProperty("CFrame"); PhysJointWeldInfo jointInfo((c0.Inverse() * c1).Position()); this->joint = workspace->CreateJoint(jointInfo, part0.lock(), part1.lock());