diff --git a/Runtime/Character/CBoneTracking.cpp b/Runtime/Character/CBoneTracking.cpp index eab8f1cb5..79c9b67c6 100644 --- a/Runtime/Character/CBoneTracking.cpp +++ b/Runtime/Character/CBoneTracking.cpp @@ -38,7 +38,7 @@ void CBoneTracking::PreRender(const CStateManager& mgr, CAnimData& animData, con TCastToConstPtr targetAct = mgr.GetObjectById(x34_target); if (x36_24_active && tracking && (targetAct || x24_targetPosition)) { x36_25_hasTrackedRotation = true; - auto layoutInfo = pb.CharLayoutInfo(); + const auto& layoutInfo = pb.CharLayoutInfo(); CSegId bone; if (x36_26_noParent) bone = x14_segId; diff --git a/Runtime/Character/CHierarchyPoseBuilder.hpp b/Runtime/Character/CHierarchyPoseBuilder.hpp index 7c0dfd954..331929143 100644 --- a/Runtime/Character/CHierarchyPoseBuilder.hpp +++ b/Runtime/Character/CHierarchyPoseBuilder.hpp @@ -38,7 +38,7 @@ class CHierarchyPoseBuilder { public: CHierarchyPoseBuilder(const CLayoutDescription& layout); - const TLockedToken CharLayoutInfo() const { return x0_layoutDesc.ScaledLayout(); } + const TLockedToken& CharLayoutInfo() const { return x0_layoutDesc.ScaledLayout(); } bool HasRoot() const { return xcf0_hasRoot; } void BuildTransform(const CSegId& boneId, zeus::CTransform& xfOut) const; void BuildNoScale(CPoseAsTransforms& pose); diff --git a/Runtime/Character/CIkChain.cpp b/Runtime/Character/CIkChain.cpp index e5905ad62..dbd0c44e0 100644 --- a/Runtime/Character/CIkChain.cpp +++ b/Runtime/Character/CIkChain.cpp @@ -15,7 +15,7 @@ void CIkChain::Deactivate() { x44_24_activated = false; } void CIkChain::Activate(const CAnimData& animData, const CSegId& segId, const zeus::CTransform& xf) { x0_bone = segId; - auto info = animData.GetPoseBuilder().CharLayoutInfo(); + const auto& info = animData.GetPoseBuilder().CharLayoutInfo(); x1_p1 = info->GetRootNode()->GetBoneMap()[x0_bone].x0_parentId; if (x1_p1 != 2) { x2_p2 = info->GetRootNode()->GetBoneMap()[x1_p1].x0_parentId;