Esto es otro metodo igual fix SD , AG barra lateral.
#define pDrawCircle ((void(__cdecl*)(DWORD ModelID, float Arg2, float Arg3, float Arg4, float Arg5, float Arg6, float Arg7, float Arg8, float Arg9, bool Arg10, bool Arg11, float Arg12)) 0x00637DB0)
SetOp ( ( LPVOID ) 0x00810354, ( LPVOID ) this->DrawCircle, ASM::CALL ); // - ag
SetOp ( ( LPVOID ) 0x00810624, ( LPVOID ) this->DrawCircle, ASM::CALL ); // - sd
void cVisualFix::DrawCircle ( DWORD ModelID, float Arg2, float Arg3, float Arg4, float Arg5, float Arg6, float Arg7, float Arg8, float Arg9, int Arg10, int Arg11, int Arg12 ) {
float Height;
float PosY;
float AgFill = ( float ) ( lpUser->MaxAG - lpUser->AG ) / ( float ) lpUser->MaxAG;
float SdFill = ( float ) ( lpUser->MaxSD - lpUser->SD ) / ( float ) lpUser->MaxSD;
if ( ModelID == 0x7A43 ) {
Height = 63.0f;
PosY = 414.5f;
float StartY = AgFill * Height + PosY;
float StartHeight = Height - AgFill * Height;
float SourceY = AgFill * (Height) / 64.0;
float SouceHeight = ( 1.0 - AgFill ) * Height / 64.0;
return pDrawCircle ( ModelID, Arg2, 431, StartHeight, 8, SourceY, 0, SouceHeight, 8, 1, 1, 0 );
}
if ( ModelID == 0x7A44 ) {
Height = 63.0f;
PosY = 195.0f;
float StartY = SdFill * Height + PosY;
float StartHeight = Height - SdFill * Height;
float SourceY = SdFill * (Height) / 64.0;
float SouceHeight = ( 1.0 - SdFill ) * Height / 64.0;
return pDrawCircle ( ModelID, StartY, 431, StartHeight, 8, SourceY, 0, SouceHeight, 8, 1, 1, 0 );
}
pDrawCircle ( ModelID, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12 );
}