-
Автор темы
- #1
- char *__cdecl standingResolver(int a1)
- {
- int v1; // ecx
- char *currentPlayer; // esi
- int v4; // ebx
- char *result; // eax
- char *v6; // eax
- __int64 v7; // xmm0_8
- int v8; // eax
- int someYaw; // xmm0_4
- int missedShots; // eax
- float v11; // xmm0_4
- int v12; // eax
- char *finalYaw; // ecx
- char v14[4]; // [esp+10h] [ebp-34h] BYREF
- float v15; // [esp+14h] [ebp-30h]
- int v16[3]; // [esp+1Ch] [ebp-28h] BYREF
- __int64 v17; // [esp+28h] [ebp-1Ch]
- float v18; // [esp+30h] [ebp-14h]
- float v19; // [esp+34h] [ebp-10h] BYREF
- float v20; // [esp+38h] [ebp-Ch]
- float v21; // [esp+3Ch] [ebp-8h]
- int lby; // [esp+4Ch] [ebp+8h]
- float v23; // [esp+4Ch] [ebp+8h]
- int playerLby; // [esp+4Ch] [ebp+8h]
- currentPlayer = (char *)v1;
- v4 = 3 * (*(int (__thiscall **)(int))(*(_DWORD *)(v1 + 8) + 40))(v1 + 8);
- if ( *(_DWORD *)(*(_DWORD *)(a1 + 4) + 4) == 1 )
- {
- lby = *(_DWORD *)getLbyProxy(currentPlayer);
- result = getm_angEyeAngles_0_(currentPlayer);
- *((_DWORD *)result + 1) = lby;
- return result;
- }
- v15 = 0.0;
- v6 = getm_vecOrigin(currentPlayer);
- v19 = 0.0;
- v20 = 0.0;
- v7 = *(_QWORD *)v6;
- v18 = *((float *)v6 + 2);
- v8 = *(_DWORD *)dword_38597554;
- v21 = 0.0;
- v17 = v7;
- (*(void (__thiscall **)(int, float *))(v8 + 1108))(dword_38597554, &v19);
- *(float *)v16 = *(float *)&v7 - v19;
- *(float *)&v16[1] = *((float *)&v7 + 1) - v20;
- *(float *)&v16[2] = v18 - v21;
- sub_384E6CD0((float *)v16, (int)v14);
- *(float *)&someYaw = v15;
- v23 = v15;
- if ( v15 >= 180.0 )
- {
- do
- *(float *)&someYaw = *(float *)&someYaw - 360.0;
- while ( *(float *)&someYaw >= 180.0 );
- v23 = *(float *)&someYaw;
- }
- missedShots = dword_385B5330[v4];
- if ( missedShots <= 0 )
- {
- if ( !**(_DWORD **)(a1 + 4)
- || (float)(*(float *)getSimulationTime(currentPlayer) - *(float *)(*(_DWORD *)(a1 + 8) + 8)) < 0.22 )
- {
- playerLby = *(_DWORD *)getLbyProxy(currentPlayer);
- result = getm_angEyeAngles_0_(currentPlayer);
- *((_DWORD *)result + 1) = playerLby;
- return result;
- }
- *(float *)&someYaw = clampYaw(v23);
- goto LABEL_28;
- }
- if ( missedShots == 1 )
- {
- for ( ; *(float *)&someYaw >= 180.0; *(float *)&someYaw = *(float *)&someYaw - 360.0 )
- ;
- for ( ; *(float *)&someYaw <= -180.0; *(float *)&someYaw = *(float *)&someYaw + 360.0 )
- ;
- LABEL_28:
- v11 = COERCE_FLOAT(supremacyAntiFreestanding((int *)dword_38597554, *(float *)¤tPlayer, someYaw));
- goto LABEL_29;
- }
- if ( missedShots != 2 )
- {
- if ( missedShots == 3 )
- {
- v11 = *(float *)&someYaw + 90.0;
- LABEL_29:
- v23 = v11;
- goto LABEL_30;
- }
- if ( missedShots != 4 )
- {
- if ( missedShots == 5 )
- {
- v11 = *(float *)&someYaw + 180.0;
- goto LABEL_29;
- }
- v12 = sub_384B4D40((int *)dword_38597554, currentPlayer);
- if ( v12 != 1 )
- {
- finalYaw = currentPlayer;
- if ( v12 == 2 )
- v23 = v23 + 90.0;
- goto LABEL_31;
- }
- *(float *)&someYaw = v23;
- }
- v11 = *(float *)&someYaw - 90.0;
- goto LABEL_29;
- }
- LABEL_30:
- finalYaw = currentPlayer;
- LABEL_31:
- result = getm_angEyeAngles_0_(finalYaw);
- *((float *)result + 1) = v23;
- return result;
- }
Переделайте под супримаси пожалуйста