Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Insurgency NoSpread
#1
Cześć ludzie,   Potrzebuję pomocy w odkrywaniu Nospread, już znalazłem funkcję FireBullets, heres odpowiednią część:       Kod:   v82 = sub_101D3EA0 ("CINSPlayer :: FireBullet Spread", * (_WORD *) & _mm_xor_ps ((__m128) * (_DWORD *) (a4 + 4), (__m128) xmmword_104F76D0), * (_DWORD *) (a4 + 4) , v30); // RandomFloat? * (float *) i v76 = sub_101D3EA0 ("CINSPlayer :: FireBullet SpreadDir", 0, 1127481344, v30); // RandomFloat? v32 = (__m128) v76; v32. m128_f32 [0] = * (float *) i v76 * 2.0; v33 = _mm_cvtps_pd (v32); v33. m128d_f64 [0] = v33. m128d_f64 [0] * 3,141592653589793 * 0,005555555555555556; LODWORD (v77) = (unsigned __int128) _mm_cvtpd_ps (v33); v69 = cos (v77); v68 = sin (v77); v43 = v46; v41 = (float) ((float) (v68 * v82) * v80) + v44; v42 = (float) (v69 * v82) + v45; sub_10386AB0 (& v41, & v40); sub_10282290 (& v47, & v40, & v62, & v70);   Rzecz, której nie całkiem rozumiem, jest       Kod:   * (_WORD *) & _mm_xor_ps ((__m128) * (_DWORD *) (a4 + 4),   @ line 3, wszystko inne jest dość proste.   Dissasembley z sub_101D3EA0:       Kod:   int __cdecl sub_101D3EA0 (int a1, __int64 a2, int a3) {int v3; // eax @ 1 int v5; // [sp + 8h] [bp-8h] @ 1 int v6; // [sp + Ch] [bp-4h] @ 1 v5 = a3; v6 = dword_10675D34; sub_104216C0 (& a3); sub_104216D0 (& a3, & v6, 4); sub_104216D0 (& a3, & v5, 4); v3 = sub_104174E0 (a1); sub_104216D0 (& a3, a1, v3); sub_104216B0 (& a3); RandomSeed (a3); return RandomFloat (a2, HIDWORD (a2)); }   Pomoc byłaby doceniona.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)