workingbuild
This commit is contained in:
parent
453626da33
commit
9ad5fd5ea2
Binary file not shown.
|
@ -171,7 +171,7 @@ namespace Rimworld_Animations {
|
||||||
bodyFacing = anim.headFacing;
|
bodyFacing = anim.headFacing;
|
||||||
angle = anim.headAngle;
|
angle = anim.headAngle;
|
||||||
quat = Quaternion.AngleAxis(anim.headAngle, Vector3.up);
|
quat = Quaternion.AngleAxis(anim.headAngle, Vector3.up);
|
||||||
pos = anim.getPawnHeadOffset();
|
//pos = anim.getPawnHeadOffset();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -413,7 +413,7 @@ namespace Rimworld_Animations {
|
||||||
|
|
||||||
public Vector3 getPawnHeadOffset()
|
public Vector3 getPawnHeadOffset()
|
||||||
{
|
{
|
||||||
return Quaternion.AngleAxis(bodyAngle, Vector3.up) * (pawn.Drawer.renderer.BaseHeadOffsetAt(headFacing) + headBob);
|
return Quaternion.AngleAxis(bodyAngle, Vector3.up) * headBob;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Rimworld_Animations {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static bool Prefix_AnimateHeadAddons(PawnRenderFlags renderFlags, Vector3 vector, Vector3 headOffset, Pawn pawn, Quaternion quat, Rot4 rotation)
|
public static bool Prefix_AnimateHeadAddons(PawnRenderFlags renderFlags, Vector3 vector /*rootloc*/, Vector3 headOffset, Pawn pawn, Quaternion quat, Rot4 rotation)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (renderFlags.FlagSet(PawnRenderFlags.Portrait) || pawn.TryGetComp<CompBodyAnimator>() == null || !pawn.TryGetComp<CompBodyAnimator>().isAnimating) return true;
|
if (renderFlags.FlagSet(PawnRenderFlags.Portrait) || pawn.TryGetComp<CompBodyAnimator>() == null || !pawn.TryGetComp<CompBodyAnimator>().isAnimating) return true;
|
||||||
|
@ -71,7 +71,7 @@ namespace Rimworld_Animations {
|
||||||
{
|
{
|
||||||
|
|
||||||
Quaternion addonRotation = Quaternion.AngleAxis(pawnAnimator.headAngle < 0 ? 360 - (360 % pawnAnimator.headAngle) : pawnAnimator.headAngle, Vector3.up);
|
Quaternion addonRotation = Quaternion.AngleAxis(pawnAnimator.headAngle < 0 ? 360 - (360 % pawnAnimator.headAngle) : pawnAnimator.headAngle, Vector3.up);
|
||||||
|
var pseudoRootLoc = addonRotation * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.headFacing);
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* genital rotation is borked
|
* genital rotation is borked
|
||||||
|
@ -82,7 +82,7 @@ namespace Rimworld_Animations {
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: pawnAnimator.headFacing), loc: vector + (ba.alignWithHead || ba.drawnInBed ? headOffset : Vector3.zero) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
|
GenDraw.DrawMeshNowOrLater(mesh: addonGraphic.MeshAt(rot: pawnAnimator.headFacing), loc: vector /*rootloc*/ + (ba.alignWithHead ? headOffset : headOffset - addonRotation * pawn.Drawer.renderer.BaseHeadOffsetAt(pawnAnimator.headFacing)) + vector2.RotatedBy(angle: Mathf.Acos(f: Quaternion.Dot(a: Quaternion.identity, b: addonRotation)) * 2f * 57.29578f),
|
||||||
quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * addonRotation, mat: addonGraphic.MatAt(rot: pawnAnimator.headFacing), renderFlags.FlagSet(PawnRenderFlags.DrawNow));
|
quat: Quaternion.AngleAxis(angle: num, axis: Vector3.up) * addonRotation, mat: addonGraphic.MatAt(rot: pawnAnimator.headFacing), renderFlags.FlagSet(PawnRenderFlags.DrawNow));
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue