Click here to Skip to main content
15,887,596 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
my code below I need to bind a shader to my program...

My code below has no shader code only code for my menu hook only 'gui interface"

#include "MenuClass.h"



oReset pReset;
oEndScene pEndScene;


QmoMenu dMenu;


LPDIRECT3DDEVICE9 g_pDevice = 0;


int xFontOffSet = 15;


int hackopt1;
int MenuHeight = 10;


int show=1;


int showfps = 1;


int b = 0;
//========== izoon ==================


int hack1 = 0;
int hack2 = 0;
int hack3 = 0;
int hack4 = 0;
int hack5 = 0;
int hack6 = 0;
int hack7 = 0;
int hack8 = 0;
int hack9 = 0;
int hack10 = 0;


void QmoMenu::CreateItem(int index, char * title, int *hack, int hackmaxval,int hacktype)
{
        hackcount++;
        HACKITEM[hackcount].index = index;
        HACKITEM[hackcount].hack = hack;
        HACKITEM[hackcount].hackmaxval = hackmaxval;
        HACKITEM[hackcount].hacktype = hacktype;


    PrintText(title, xFontOffSet, index*17,HACKITEM[hackcount].HCOLOR,pFont); 



}


void QmoMenu::BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice)
{
        if(GetAsyncKeyState(VK_INSERT)&1)show=(!show); 
        if(!show) {
                DrawBox(0,0, 220, 400, BACKCOLOR, BORDERCOLOR, pDevice); 
        PrintText(menuname, x+100, y+50, BLUE, pFont);
        CreateItem(1,"crosair", &hack1);


    CreateItem(2,"wall anme", &hack2); 
    CreateItem(3,"speed hack", &hack3);
    CreateItem(4,"full control", &hack4);
    CreateItem(5,"autokill", &hack5);
 CreateItem(6,"calibre p", &hack6);
    CreateItem(7,"calibre s", &hack7); 
    CreateItem(8,"blalba", &hack8);
    CreateItem(9,"cheat9blabla", &hack9);
    CreateItem(10,"asdasd", &hack10);
    RenderMenu();
    }



}


void QmoMenu::RenderMenu() 
{
        if(GetAsyncKeyState(VK_DOWN)&1) 
                        selector++;


    if(GetAsyncKeyState(VK_UP)&1)
            if(selector > 1)
                    selector--;

    if (GetAsyncKeyState(VK_RIGHT)<0){
            for(int i=0;i < (hackcount+1);i++){
       if(selector == HACKITEM[i].index){
                       if(*HACKITEM[i].hack < HACKITEM[i].hackmaxval)
                                    *HACKITEM[i].hack += 1;

                                    }
                    }
    }

    if (GetAsyncKeyState(VK_LEFT)<0){
            for(int i=0;i < (hackcount+1);i++){
       if(selector == HACKITEM[i].index){
                       *HACKITEM[i].hack = 0;
                       Sleep(200);
                            }
                    }
    }

    for(int i=0;i < (hackcount+1);i++){
            if(selector == HACKITEM[i].index)
                    HACKITEM[i].HCOLOR = GREEN;
            else
                    HACKITEM[i].HCOLOR = RED;
    }

    for(int i=1; i<(hackcount+1); i++){
            if(HACKITEM[i].hacktype == 0){
            if(*HACKITEM[i].hack == 1) 


            PrintText("[ON]", xFontOffSet+150, HACKITEM[i].index*17,WHITE,pFont);
     else 
            PrintText("[OFF]", xFontOffSet+150, HACKITEM[i].index*17,RED,pFont);

            }
    }

    if(selector < 1)
            selector = 1;

    if(selector > hackcount)
            selector = 1;

    hackcount = 0;



}


void CrossHair(LPDIRECT3DDEVICE9 pDevice, D3DCOLOR Color)
{
    D3DVIEWPORT9 Viewport1;
    pDevice->GetViewport(&Viewport1);
    DWORD ScreenX = Viewport1.Width / 2;
    DWORD ScreenY = Viewport1.Height / 2;
    D3DRECT rec1 = { ScreenX - 40, ScreenY, ScreenX + 40, ScreenY + 2 };
    D3DRECT rec2 = { ScreenX, ScreenY - 40, ScreenX + 2, ScreenY + 40 };
    pDevice->Clear(1, &rec1, D3DCLEAR_TARGET, RED, 0, 0);
    pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, RED, 0, 0);


}


void TestThread() 
{
        if( hack1 == 1)
              if(hack1) CrossHair(g_pDevice, RED);
} 


void Wall ()
{
g_pDevice->SetRenderState(D3DRS_ZENABLE,false); 
g_pDevice->SetRenderState(D3DRS_LIGHTING, true);

g_pDevice->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); 
g_pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_ARGB(255,128,128,128)); //Wall Hack


}


void ReFont(LPDIRECT3DDEVICE9 pDevice) 
{
    if (g_pDevice != pDevice)
    {
        g_pDevice = pDevice;
        try
        {
            if (dMenu.pFont != 0)
                dMenu.pFont->Release();
        } catch (...) {}
        dMenu.pFont = 0;
        D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial Black", &dMenu.pFont ); 
    }
}


HRESULT WINAPI Reset(IDirect3DDevice9* pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters )
{
        dMenu.pFont->OnLostDevice();


    HRESULT hRet = pReset(pDevice, pPresentationParameters);

    dMenu.pFont->OnResetDevice();

    return hRet;



}


HRESULT WINAPI EndScene(LPDIRECT3DDEVICE9 pDevice)
{
        ReFont(pDevice);
        dMenu.BuildMenu("",0,0,0,0,BLUE,BLACK,GREEN,pDevice);
       Wall ();
        TestThread();


    return pEndScene(pDevice);



}


int D3Dinit(void)
{
        DWORD           hD3D, adr, *vtbl;
        hD3D=0;
        do {
                hD3D = (DWORD)GetModuleHandle("d3d9.dll");
                Sleep(10);
        } while(!hD3D); 
        adr = FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
        if (adr) {
                memcpy(&vtbl,(void *)(adr+2),4);
                pReset    = (oReset)    DetourFunction((PBYTE)vtbl[16]   , (PBYTE)Reset   ,5);
                pEndScene = (oEndScene) DetourFunction((PBYTE)vtbl[42], (PBYTE)EndScene,5);
        }
        return 0;
}


BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
        DisableThreadLibraryCalls(hDll);


    if ( dwReason == DLL_PROCESS_ATTACH ) {


    MessageBox(0, "Techno Tech 1", "Engine", MB_OK);

            CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3Dinit, NULL, NULL, NULL);
    }
    if( dwReason == DLL_PROCESS_DETACH)     {
            dMenu.pFont->Release();
    }
    return TRUE;


What I have tried:

I have tried to bind the shader but no luck so far
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900