All pastes #257028 Raw Edit

Anonymous

public text v1 · immutable
#257028 ·published 2006-11-24 22:20 UTC
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;
            }
        }
    }
}