Mercurial > mm7
comparison mm7_5.cpp @ 302:0f2541245f65
Слияние
author | Ritor1 |
---|---|
date | Tue, 19 Feb 2013 17:16:40 +0600 |
parents | ea8c820bbf4f af7e848d6def |
children | f16ac5e65438 |
comparison
equal
deleted
inserted
replaced
301:ea8c820bbf4f | 302:0f2541245f65 |
---|---|
6194 int *v4; // esi@1 | 6194 int *v4; // esi@1 |
6195 signed int v5; // eax@1 | 6195 signed int v5; // eax@1 |
6196 | 6196 |
6197 v3 = x; | 6197 v3 = x; |
6198 v4 = y; | 6198 v4 = y; |
6199 v5 = sub_452A9E(*y * *y + *z * *z + *x * *x); | 6199 v5 = integer_sqrt(*y * *y + *z * *z + *x * *x); |
6200 *v3 *= 65536 / (v5 | 1); | 6200 *v3 *= 65536 / (v5 | 1); |
6201 *v4 *= 65536 / (v5 | 1); | 6201 *v4 *= 65536 / (v5 | 1); |
6202 *z *= 65536 / (v5 | 1); | 6202 *z *= 65536 / (v5 | 1); |
6203 } | 6203 } |
6204 | 6204 |
11178 v19 = pLayingItems[v22].uSectorID; | 11178 v19 = pLayingItems[v22].uSectorID; |
11179 } | 11179 } |
11180 v62 = v19; | 11180 v62 = v19; |
11181 v23 = v18 - v63; | 11181 v23 = v18 - v63; |
11182 v50 = v17 - v65; | 11182 v50 = v17 - v65; |
11183 v24 = sub_452A9E(v23 * v23 + (v60 - v64) * (v60 - v64) + v50 * v50); | 11183 v24 = integer_sqrt(v23 * v23 + (v60 - v64) * (v60 - v64) + v50 * v50); |
11184 if ( v24 > 5120 ) | 11184 if ( v24 > 5120 ) |
11185 return 0; | 11185 return 0; |
11186 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor) | 11186 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor) |
11187 return 1; | 11187 return 1; |
11188 v25 = 65536; | 11188 v25 = 65536; |
11774 *(_QWORD *)&v45.x = *(_QWORD *)&v; | 11774 *(_QWORD *)&v45.x = *(_QWORD *)&v; |
11775 Vec3_int_::Rotate(32, stru_5C6E00->uIntegerHalfPi + v4, 0, v45, &outx, &outy, &v163); | 11775 Vec3_int_::Rotate(32, stru_5C6E00->uIntegerHalfPi + v4, 0, v45, &outx, &outy, &v163); |
11776 v46 = outy - pOut.y; | 11776 v46 = outy - pOut.y; |
11777 v47 = v163 - outz; | 11777 v47 = v163 - outz; |
11778 v48 = outx - pOut.x; | 11778 v48 = outx - pOut.x; |
11779 v49 = sub_452A9E(v48 * v48 + v46 * v46 + v47 * v47); | 11779 v49 = integer_sqrt(v48 * v48 + v46 * v46 + v47 * v47); |
11780 v50 = 65536; | 11780 v50 = 65536; |
11781 if ( v49 ) | 11781 if ( v49 ) |
11782 v50 = 65536 / v49; | 11782 v50 = 65536 / v49; |
11783 v51 = outx; | 11783 v51 = outx; |
11784 v143 = v48 * v50; | 11784 v143 = v48 * v50; |
11926 *(_QWORD *)&v73.x = *(_QWORD *)&v; | 11926 *(_QWORD *)&v73.x = *(_QWORD *)&v; |
11927 Vec3_int_::Rotate(32, a4_8 - stru_5C6E00->uIntegerHalfPi, 0, v73, &outx, &outy, &v163); | 11927 Vec3_int_::Rotate(32, a4_8 - stru_5C6E00->uIntegerHalfPi, 0, v73, &outx, &outy, &v163); |
11928 v74 = outy - pOut.y; | 11928 v74 = outy - pOut.y; |
11929 v75 = v163 - outz; | 11929 v75 = v163 - outz; |
11930 v76 = outx - pOut.x; | 11930 v76 = outx - pOut.x; |
11931 v77 = sub_452A9E(v76 * v76 + v74 * v74 + v75 * v75); | 11931 v77 = integer_sqrt(v76 * v76 + v74 * v74 + v75 * v75); |
11932 v78 = 65536; | 11932 v78 = 65536; |
11933 if ( v77 ) | 11933 if ( v77 ) |
11934 v78 = 65536 / v77; | 11934 v78 = 65536 / v77; |
11935 v79 = outx; | 11935 v79 = outx; |
11936 v144 = v76 * v78; | 11936 v144 = v76 * v78; |
12085 *(_QWORD *)&v5.x = *(_QWORD *)&v; | 12085 *(_QWORD *)&v5.x = *(_QWORD *)&v; |
12086 Vec3_int_::Rotate(32, stru_5C6E00->uIntegerHalfPi + v4, 0, v5, &outx, &outy, &v163); | 12086 Vec3_int_::Rotate(32, stru_5C6E00->uIntegerHalfPi + v4, 0, v5, &outx, &outy, &v163); |
12087 v6 = outy - pOut.y; | 12087 v6 = outy - pOut.y; |
12088 v7 = v163 - outz; | 12088 v7 = v163 - outz; |
12089 v8 = outx - pOut.x; | 12089 v8 = outx - pOut.x; |
12090 v9 = sub_452A9E(v8 * v8 + v6 * v6 + v7 * v7); | 12090 v9 = integer_sqrt(v8 * v8 + v6 * v6 + v7 * v7); |
12091 v10 = 65536; | 12091 v10 = 65536; |
12092 if ( v9 ) | 12092 if ( v9 ) |
12093 v10 = 65536 / v9; | 12093 v10 = 65536 / v9; |
12094 v125 = v8 * v10; | 12094 v125 = v8 * v10; |
12095 v11 = v10; | 12095 v11 = v10; |
12216 *(_QWORD *)&v28.x = *(_QWORD *)&v; | 12216 *(_QWORD *)&v28.x = *(_QWORD *)&v; |
12217 Vec3_int_::Rotate(32, a4_8 - stru_5C6E00->uIntegerHalfPi, 0, v28, &outx, &outy, &v163); | 12217 Vec3_int_::Rotate(32, a4_8 - stru_5C6E00->uIntegerHalfPi, 0, v28, &outx, &outy, &v163); |
12218 v29 = outy - pOut.y; | 12218 v29 = outy - pOut.y; |
12219 v30 = v163 - outz; | 12219 v30 = v163 - outz; |
12220 v31 = outx - pOut.x; | 12220 v31 = outx - pOut.x; |
12221 v32 = sub_452A9E(v31 * v31 + v29 * v29 + v30 * v30); | 12221 v32 = integer_sqrt(v31 * v31 + v29 * v29 + v30 * v30); |
12222 v33 = 65536; | 12222 v33 = 65536; |
12223 if ( v32 ) | 12223 if ( v32 ) |
12224 v33 = 65536 / v32; | 12224 v33 = 65536 / v32; |
12225 v126 = v31 * v33; | 12225 v126 = v31 * v33; |
12226 v34 = v33; | 12226 v34 = v33; |
12419 v6 = a1; | 12419 v6 = a1; |
12420 v10 = a2; | 12420 v10 = a2; |
12421 v7 = a3 - a1; | 12421 v7 = a3 - a1; |
12422 v11 = abs(a3 - a1); | 12422 v11 = abs(a3 - a1); |
12423 v8 = abs(a4 - v10); | 12423 v8 = abs(a4 - v10); |
12424 result = sub_452A9E(v11 * v11 + v8 * v8); | 12424 result = integer_sqrt(v11 * v11 + v8 * v8); |
12425 if ( result ) | 12425 if ( result ) |
12426 result = abs((v7 * (v10 - a6) - (a4 - v10) * (v6 - a5)) / result); | 12426 result = abs((v7 * (v10 - a6) - (a4 - v10) * (v6 - a5)) / result); |
12427 return result; | 12427 return result; |
12428 } | 12428 } |
12429 | 12429 |