summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-01-29 13:00:40 +0200
committerSergeanur <s.anureev@yandex.ua>2020-01-29 13:00:40 +0200
commit81de0e0cbd7d3834c71282348ce61b69474a01e8 (patch)
tree4fd0e0bc5390b85215d59e95e651a959cca71e8a
parentdaf1fdf40371faada7153816456b838426ca2758 (diff)
acos
-rw-r--r--src/core/FileLoader.cpp2
-rw-r--r--src/peds/PedIK.cpp8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/FileLoader.cpp b/src/core/FileLoader.cpp
index 8fb4b4d9..b49fccbb 100644
--- a/src/core/FileLoader.cpp
+++ b/src/core/FileLoader.cpp
@@ -679,7 +679,7 @@ CFileLoader::LoadMLOInstance(int id, const char *line)
&scale.x, &scale.y, &scale.z,
&rot.x, &rot.y, &rot.z,
&angle);
- float rad = 2.0f * (PI / 2.0f - Atan2(angle, Sqrt(1.0f - SQR(angle))));
+ float rad = Acos(angle) * 2.0f;
CInstance *inst = CModelInfo::GetMloInstanceStore().alloc();
minfo->lastInstance++;
diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp
index c8f0409f..bfc9186d 100644
--- a/src/peds/PedIK.cpp
+++ b/src/peds/PedIK.cpp
@@ -344,11 +344,11 @@ void
CPedIK::ExtractYawAndPitchWorld(RwMatrixTag *mat, float *yaw, float *pitch)
{
float f = clamp(DotProduct(mat->up, CVector(0.0f, 1.0f, 0.0f)), -1.0f, 1.0f);
- *yaw = HALFPI - Atan2(f, Sqrt(1.0f - f * f));
+ *yaw = Acos(f);
if (mat->up.x > 0.0f) *yaw = -*yaw;
f = clamp(DotProduct(mat->right, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
- *pitch = HALFPI - Atan2(f, Sqrt(1.0f - f * f));
+ *pitch = Acos(f);
if (mat->up.z > 0.0f) *pitch = -*pitch;
}
@@ -356,11 +356,11 @@ void
CPedIK::ExtractYawAndPitchLocal(RwMatrixTag *mat, float *yaw, float *pitch)
{
float f = clamp(DotProduct(mat->at, CVector(0.0f, 0.0f, 1.0f)), -1.0f, 1.0f);
- *yaw = HALFPI - Atan2(f, Sqrt(1.0f - f * f));
+ *yaw = Acos(f);
if (mat->at.y > 0.0f) *yaw = -*yaw;
f = clamp(DotProduct(mat->right, CVector(1.0f, 0.0f, 0.0f)), -1.0f, 1.0f);
- *pitch = HALFPI - Atan2(f, Sqrt(1.0f - f * f));
+ *pitch = Acos(f);
if (mat->up.x > 0.0f) *pitch = -*pitch;
}