Mercurial > mm7
diff mm7_5.cpp @ 1045:d3f4c6584ada
Intersect_Ray_Face clean
author | Ritor1 |
---|---|
date | Tue, 21 May 2013 16:13:43 +0600 |
parents | c94d6a37d298 |
children | d36681a9e4f8 |
line wrap: on
line diff
--- a/mm7_5.cpp Tue May 21 15:17:18 2013 +0600 +++ b/mm7_5.cpp Tue May 21 16:13:43 2013 +0600 @@ -5354,28 +5354,14 @@ //----- (0043AA99) -------------------------------------------------------- void __fastcall Vec3_int_::Rotate(int sDepth, int sRotY, int sRotX, Vec3_int_ v, int *outx, int *outy, int *outz) { -/* int v7; // ebx@1 - int v8; // ST14_4@1 - int v9; // edi@1 - int anglea; // [sp+20h] [bp+8h]@1 - - v7 = sRotX; - v8 = sDepth; - v9 = sRotY; - anglea = (unsigned __int64)(stru_5C6E00->SinCos(sRotX) * (signed __int64)sDepth) >> 16; - *outx = v.x + ((unsigned __int64)(stru_5C6E00->SinCos(sRotY) * (signed __int64)anglea) >> 16); - *outy = v.y + ((unsigned __int64)(stru_5C6E00->SinCos(sRotY - stru_5C6E00->uIntegerHalfPi) * (signed __int64)anglea) >> 16); - *outz = v.z + ((unsigned __int64)(stru_5C6E00->SinCos(sRotX - stru_5C6E00->uIntegerHalfPi) * (signed __int64)sDepth) >> 16);*/ - float cosf_x = cosf(3.14159265f * sRotX / 1024.0f), sinf_x = sinf(3.14159265f * sRotX / 1024.0f), cosf_y = cosf(3.14159265f * sRotY / 1024.0f), sinf_y = sinf(3.14159265f * sRotY / 1024.0f); - //sDepth = 14000000; + *outx = v.x + ((unsigned __int64)(sinf_y * (signed __int64)((unsigned __int64)(cosf_x * (signed __int64)sDepth)>> 16))); *outy = v.y + ((unsigned __int64)(cosf_y * (signed __int64)((unsigned __int64)(cosf_x * (signed __int64)sDepth)>> 16))); *outz = v.z + ((unsigned __int64)(sinf_x * (signed __int64)sDepth) >> 16); - } //----- (0043AB61) --------------------------------------------------------