aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-11 01:41:31 -0700
committerJustin Berger <j.david.berger@gmail.com>2018-03-11 14:54:29 -0600
commitef2a7f197b6dbfb0d09bdb7011d57f94a3b24d28 (patch)
tree3b4e9c0525d3de96d92576a5ca582250a5a2b9b5
parent5564ee35b070676e2761336bc119b94b0a049da0 (diff)
downloadlibsurvive-ef2a7f197b6dbfb0d09bdb7011d57f94a3b24d28.tar.gz
libsurvive-ef2a7f197b6dbfb0d09bdb7011d57f94a3b24d28.tar.bz2
Changed rotation of charlesslow to match new standard
-rw-r--r--src/poser_charlesslow.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/poser_charlesslow.c b/src/poser_charlesslow.c
index 080ad6a..96442b3 100644
--- a/src/poser_charlesslow.c
+++ b/src/poser_charlesslow.c
@@ -169,6 +169,7 @@ int PoserCharlesSlow( SurviveObject * so, PoserData * pd )
copy3d( ctx->bsd[lh].Pose.Pos, LighthousePos );
quatcopy( ctx->bsd[lh].Pose.Rot, LighthouseQuat );
#define ALT_COORDS
+
#ifdef ALT_COORDS
so->FromLHPose[lh].Pos[0] = LighthousePos[0];
so->FromLHPose[lh].Pos[1] = LighthousePos[1];
@@ -188,6 +189,11 @@ int PoserCharlesSlow( SurviveObject * so, PoserData * pd )
so->FromLHPose[lh].Rot[2] = LighthouseQuat[2];
so->FromLHPose[lh].Rot[3] = LighthouseQuat[3];
#endif
+
+ const FLT rt[4] = {0, 0, 1, 0};
+ FLT tmp[4];
+ quatrotateabout(tmp, so->ctx->bsd[lh].Pose.Rot, rt);
+ memcpy(so->ctx->bsd[lh].Pose.Rot, tmp, sizeof(FLT) * 4);
}
return 0;