, te felicito por el remake.
Quiero agregar que no hace falta reemplazar ningún archivo ya que se puede hacer dibujando barras directamente con pDrawBarForm.
Dejo el código como lo acomodé yo y se evitan de reemplazar archivos en el cliente :)
#define MAIN_PARTY_MEMBER_COUNT 0x081F6B6C
#define MAIN_VIEWPORT_STRUCT 0x07BC4F04
#define pSetBlend ((void(__cdecl*)(BYTE Mode)) 0x635FD0)
#define pGLSwitchBlend ((void(__cdecl*)()) 0x00636070)
#define pGLSwitch ((void(__cdecl*)()) 0x00635F50)
#define pDrawBarForm ((void(__cdecl*)(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)) 0x6378A0)
#define pTextThis ((LPVOID(*)()) 0x0041FE10)
#define pSetBackgroundTextColor ((void(__thiscall*)(LPVOID This, int r, int g, int b, int h)) 0x004200B0)
#define pDrawText ((int(__thiscall*)(LPVOID This, int PosX, int PosY, LPCTSTR Text, int Arg4, int Arg5, int * Arg6, int Arg7)) 0x420150)
void PetHPBarRemake(signed int x, signed int y, int nameIndex, signed int hp, signed int hpmax, char a9)
{
float PosX;
float PosY;
float reposicionX = 69.0f;
float HPWidth;
if (*(DWORD*)(MAIN_PARTY_MEMBER_COUNT) > 0)
{
reposicionX = 69.0f + 80.0f;
}
x = 640.0f - reposicionX;
y = 0;
PosX = (double)(x + 5);
PosY = (double)(y + 17);
//Background 1 oscuro
pSetBlend(true);
glColor4f(0.0, 0.0, 0.0, 0.5);
pDrawBarForm(PosX, PosY, 54.0, 6.0, 0.0, 0);
//Background 2 claro
glColor4f(0.5, 1.0, 0.9, 0.3);
pDrawBarForm(PosX - 1, PosY - 1, 54.0, 6.0, 0.0, 0);
//HP Bar
glColor4f(0.3, 1.0, 0.7, 1.0);
HPWidth = ((double)hp / (double)hpmax) * 49.0;
pDrawBarForm(PosX + 1, PosY + 1, HPWidth + 1, 2.0, 0.0, 0);
//Text
glColor3f(1.0, 1.0, 1.0);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 127);
pDrawText(pTextThis(), x + 54, y + 4, (LPCTSTR)nameIndex, 0, 0, (LPINT)7, 0);
pGLSwitchBlend();
pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
}
void PetSpiritHPBarRemake(signed int x, signed int y, int nameIndex, signed int hp, signed int hpmax, char a9)
{
float PosX;
float PosY;
float reposicionX = 69.0f;
float HPWidth;
if (*(DWORD*)(MAIN_PARTY_MEMBER_COUNT) > 0)
{
reposicionX = 69.0f + 80.0f;
}
if (*(int*)(MAIN_VIEWPORT_STRUCT) + 556 != -1)
{
x = 640.0f - reposicionX - 60.0f;
}
else
{
x = 640.0f - reposicionX;
}
y = 0;
PosX = (double)(x + 5);
PosY = (double)(y + 17);
//Background 1 oscuro
pSetBlend(true);
glColor4f(0.0, 0.0, 0.0, 0.5);
pDrawBarForm(PosX, PosY, 54.0, 6.0, 0.0, 0);
//Background 2 claro
glColor4f(0.5, 1.0, 0.9, 0.3);
pDrawBarForm(PosX - 1, PosY - 1, 54.0, 6.0, 0.0, 0);
//HP Bar
glColor4f(0.3, 1.0, 0.7, 1.0);
HPWidth = ((double)hp / (double)hpmax) * 49.0;
pDrawBarForm(PosX + 1, PosY + 1, HPWidth + 1, 2.0, 0.0, 0);
//Text
glColor3f(1.0, 1.0, 1.0);
pSetBackgroundTextColor(pTextThis(), 0, 0, 0, 127);
pDrawText(pTextThis(), x + 54, y + 4, (LPCTSTR)nameIndex, 0, 0, (LPINT)7, 0);
pGLSwitchBlend();
pGLSwitch();
glColor3f(1.0, 1.0, 1.0);
pSetBlend(false);
}