Aonde eu mudo aqui, olha se tem algo de errado.
Code:
void DrawBox(int x, int y, int w, int h, D3DCOLOR Color, D3DCOLOR BorderColor, LPDIRECT3DDEVICE9 pDevice)
{
DrawBorder(x, y, w, h, 2, BorderColor, pDevice);
const DWORD D3D_FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE;
struct Vertex {
float x, y, w, h;
D3DCOLOR Color;
}
V[4] = {{(float) x, (float)(y + h), 0.0f, 0.0f, Color},
{(float) x, (float)y, 0.0f, 0.0f, Color},
{(float)(x + w), (float)(y + h), 0.0f, 0.0f, Color},
{(float)(x + w), (float)y, 0.0f, 0.0f, Color}
};
pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_FOGENABLE, D3DZB_FALSE);
pDevice->SetFVF(D3D_FVF);
pDevice->SetTexture(0, NULL);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, V, sizeof(Vertex));
}