DIR Return Create A Forum - Home
---------------------------------------------------------
Hack Community
HTML https://roshacks.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: Codes
*****************************************************
#Post#: 307--------------------------------------------------
[C++] Draw Circle FOV
DIR By: patchasaba
Date: April 26, 2018, 10:55 am
---------------------------------------------------------
--- Code ---
IDirect3DPixelShader9* oldshapCir;
void DrawCircle(IDirect3DDevice9* pDevice, int x, int y, float
radius, D3DCOLOR color)
{
const DWORD D3D_FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE |
D3DFVF_TEX1;
const int NUMPOINTS = 15;
const float PI = (float)3.141592654f;
D3DTLVERTEX Circle[NUMPOINTS + 1];
float X, Y, Theta, WedgeAngle;
WedgeAngle = (float)((2 * PI) / NUMPOINTS);
for (int i = 0; i <= NUMPOINTS; i++)
{
Theta = i * WedgeAngle;
X = (float)(x + (radius)* cos(Theta));
Y = (float)(y - (radius)* sin(Theta));
Circle[i] = CreateD3DTLVERTEX(X, Y, 0.0f, 1.0f, color, 0.0f,
0.0f);
}
pDevice->SetFVF(D3D_FVF);
pDevice->GetPixelShader(&oldshapCir);
pDevice->SetTexture(0, NULL);
pDevice->SetPixelShader(0);
pDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
pDevice->SetRenderState(D3DRS_STENCILENABLE, FALSE);
pDevice->SetRenderState(D3DRS_FOGENABLE, false);
pDevice->SetRenderState(D3DRS_LIGHTING, false);
pDevice->SetRenderState(D3DRS_ALPHATESTENABLE, true);
pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
pDevice->SetRenderState(D3DRS_ALPHAFUNC,
D3DCMP_GREATEREQUAL);
pDevice->SetRenderState(D3DRS_DESTBLEND,
D3DBLEND_INVSRCALPHA);
pDevice->DrawPrimitiveUP(D3DPT_LINESTRIP, NUMPOINTS,
&Circle[0], sizeof(Circle[0]));
pDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
pDevice->SetRenderState(D3DRS_STENCILENABLE, TRUE);
pDevice->SetPixelShader(oldshapCir);
}
--- End Code ---
Use :
--- Code ---
float aimfov = 25.f;
float radiusx = aimfov * (CenterScreenX / 100);
float radiusy = aimfov * (CenterScreenY / 100);
float point = (radiusx + radiusy) / 2;
DrawCircle(pDevice, CenterScreenX, CenterScreenY, point,
YELLOW);
--- End Code ---
#Post#: 318--------------------------------------------------
Re: [C++] Draw Circle FOV
DIR By: GreenXpqser
Date: April 27, 2018, 5:41 pm
---------------------------------------------------------
[CODE]
struct D3DTLVERTEX
{
float fX;
float fY;
float fZ;
float fRHW;
D3DCOLOR Color;
float fU;
float fV;
};
D3DTLVERTEX CreateD3DTLVERTEX (float X, float Y, float Z, float
RHW, D3DCOLOR color, float U, float V)
{
D3DTLVERTEX v;
v.fX = X;
v.fY = Y;
v.fZ = Z;
v.fRHW = RHW;
v.Color = color;
v.fU = U;
v.fV = V;
return v;
}
[/CODE]
#Post#: 341--------------------------------------------------
Re: [C++] Draw Circle FOV
DIR By: Mrcumi
Date: April 29, 2018, 6:21 am
---------------------------------------------------------
TQ ;D :-*
*****************************************************
Page 1 of 1