rendered paste body/************************************/
/* */
/* File: cMenu.h */
/* By: ry0t */
/* First Menu Class */
/* */
/************************************/
#include <windows.h>
#include <string>
ID3DXFont* m_pFont;
LOGFONT lfLogFont;
RECT Rect;
//==================================================================================
/* Printing Function */
DrawConString(float X, float Y, D3DCOLOR color, char *font, int height, int weight, IDirect3DDevice8 *pD3Ddev, char* pText, ...)
{
strcpy(lfLogFont.lfFaceName, font);
lfLogFont.lfHeight = 12;
lfLogFont.lfWeight = 0;
lfLogFont.lfItalic = FALSE;
lfLogFont.lfUnderline = FALSE;
lfLogFont.lfStrikeOut = FALSE;
int iWidth = 65535;
int iHeight = 65536;
Rect.left = (int)X;
Rect.top = (int)Y;
Rect.right = Rect.left + iWidth;
Rect.bottom = Rect.top + iHeight;
va_list va_alist;
char logbuf[256] = {0};
va_start (va_alist, pText);
_vsnprintf (logbuf+strlen(logbuf), sizeof(logbuf) - strlen(logbuf), pText, va_alist);
va_end (va_alist);
HRESULT hResult = D3DXCreateFontIndirect(pD3Ddev, &lfLogFont, &m_pFont);
m_pFont->DrawText(logbuf, -1, &Rect, 0, color);
return m_pFont->Release();
}
//==================================================================================
/* Menu Cvar Struct */
void DrawMenu(IDirect3DDevice8 *m_pD3Ddev);
void DoKeyCheck();
struct basehookcvar_s
{
float bESP;
float bAsus;
float bXQZ;
float bChams;
float bAim;
float bMenu;
float bSpeed;
float bAR; //antirecoil settings [antirec]
float bARnum; //anti reocil strength [ar_str]
float bXhair2;
float bSP;
float bTrigger;
float bInsta;
};
basehookcvar_s cvar;
/* Menu Struct */
struct basehookmenu_s
{
char title[20];
float* value;
float min;
float max;
float step;
};
/* Menu Variables */
basehookmenu_s menu[11]; //update
int menuItems = 11; //update
int menuIndex = 0;
bool do_once = false;
/* Menu Items */
void InitMenu()
{
if(!do_once){
int i = 0;
strcpy( menu[i].title, "ESP" );
menu[i].value = &cvar.bESP;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "Chams" );
menu[i].value = &cvar.bChams;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "XQZ" );
menu[i].value = &cvar.bXQZ;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "Asus" );
menu[i].value = &cvar.bAsus;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "Crosshair" );
menu[i].value = &cvar.bXhair2;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "TriHax" );
menu[i].value = &cvar.bSP;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "InstaRespawn" );
menu[i].value = &cvar.bInsta;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "AimBot" );
menu[i].value = &cvar.bAim;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "TriggerBot" );
menu[i].value = &cvar.bTrigger;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "AntiRecoil" );
menu[i].value = &cvar.bAR;
menu[i].min = 0;
menu[i].max = 1;
menu[i].step = 1;
i++;
strcpy( menu[i].title, "->AR Str" );
menu[i].value = &cvar.bARnum;
menu[i].min = 0;
menu[i].max = 20;
menu[i].step = 1;
do_once = true;
}
}
/* Menu Drawing */
void DrawMenu(IDirect3DDevice8 *m_pD3Ddev)
{
int menuX = 180;
int menuY = 40;
InitMenu();
int r = 125;
int g = 125; // selected & title
int b = 125;
int mr = 0;
int mg = 0; // non-selected
int mb = 128;
DrawConString( (float)menuX - 130, (float)menuY - 20, D3DCOLOR_RGBA(r, g, b, 255),
"Arial", 13, 0, m_pD3Ddev, "[Warrock_Sux SE]" );
for(int i=0;i<menuItems;i++)
{
if( i!=menuIndex )
{
DrawConString( (float)menuX - 130, (float)menuY + (16*i), D3DCOLOR_RGBA(mr, mg, mb, 255),
"Arial", 13, 0, m_pD3Ddev, menu[i].title );
DrawConString( (float)menuX - 60, (float)menuY + (16*i), D3DCOLOR_RGBA(mr, mg, mb, 255),
"Arial", 13, 0, m_pD3Ddev, "%2.2f", menu[i].value[0] );
}
else
{
DrawConString( (float)menuX - 130, (float)menuY + (16*i), D3DCOLOR_RGBA(r, g, b, 255),
"Arial", 13, 0, m_pD3Ddev, menu[i].title );
DrawConString( (float)menuX - 60, (float)menuY + (16*i), D3DCOLOR_RGBA(r, g, b, 255),
"Arial", 13, 0, m_pD3Ddev, "%2.2f", menu[i].value[0] );
}
}
}
/* Menu Control */
void DoKeyCheck()
{
if(GetAsyncKeyState(0x2D)&1) //Insert
{
cvar.bMenu=!cvar.bMenu;
}
if( cvar.bMenu)
{
if(GetAsyncKeyState(0x26)&1) // up arrow
{
if( menuIndex>0 ) menuIndex--;
}
if(GetAsyncKeyState(0x28)&1) //downarrow
{
if( menuIndex<menuItems-1 ) menuIndex++;
}
if(GetAsyncKeyState(0x25)&1) //leftarrow
{
if( menu[menuIndex].value )
{
menu[menuIndex].value[0] -= menu[menuIndex].step;
if( menu[menuIndex].value[0] < menu[menuIndex].min )
menu[menuIndex].value[0] = menu[menuIndex].max;
}
}
if(GetAsyncKeyState(0x27)&1) //rightarrow
{
if( menu[menuIndex].value )
{
menu[menuIndex].value[0] += menu[menuIndex].step;
if( menu[menuIndex].value[0] > menu[menuIndex].max )
menu[menuIndex].value[0] = menu[menuIndex].min;
}
}
}
}