From cfcee6d4c34564428fbe39a191f20eddc8182036 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Mon, 8 Apr 2019 16:57:20 +0100 Subject: [PATCH] Made Triangle.cpp ASM-accurate --- src/Triangle.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Triangle.cpp b/src/Triangle.cpp index 94042100..c04320cc 100644 --- a/src/Triangle.cpp +++ b/src/Triangle.cpp @@ -9,6 +9,8 @@ int16_t gTan[0x21]; void InitTriangleTable() { int i; + float a; + float b; //Sine for (i = 0; i < 0x100; ++i) @@ -19,9 +21,9 @@ void InitTriangleTable() //Tangent for (i = 0; i < 0x21; ++i) { - float a = (float)(i * 6.2831855 / 256.0); - float b = sinf(a) / cosf(a); - gTan[i] = (int16_t)(b * 8192.0); + a = (float)(i * 6.2831855f / 256.0f); + b = sinf(a) / cosf(a); + gTan[i] = (int16_t)(b * 8192.0f); } } @@ -63,7 +65,7 @@ uint8_t GetArktan(int x, int y) } else { - if (-y < x) + if (x > -y) { k = (-y * 0x2000) / x; while (k > gTan[a])