CodeHook Chams Source Code

Posts 1–3 of 3 · Page 1 of 1
CodeHook Chams Source Code
Code:
bool bGenerateShaders = true;

IDirect3DPixelShader9 * re_Red;
IDirect3DPixelShader9 * re_Green;

HRESULT GenerateShader(IDirect3DDevice9 *pD3Ddev, IDirect3DPixelShader9 **pShader, float r, float g, float b, float a)
{
	char szShader[256];
	ID3DXBuffer *pShaderBuf = NULL;
	sprintf(szShader, "ps_3_0\ndef c0, %f, %f, %f, %f\nmov oC0, c0", r, g, b, a);
	D3DXAssembleShader(szShader, sizeof(szShader), NULL, NULL, 0, &pShaderBuf, NULL);

	if(FAILED(cod4_device->device->CreatePixelShader((const DWORD*)pShaderBuf->GetBufferPointer(), pShader)))
		return E_FAIL;

	return S_OK;
}

void (*oDrawXModelSkinnedCached)( int a1, xModel_t a2, int a3 );
void nDrawXModelSkinnedCached( int a1, xModel_t a2, int a3 )
{
	if(bGenerateShaders) {
		GenerateShader( cod4_device->device, &re_Red, 255, 0, 0, 255);
		GenerateShader( cod4_device->device, &re_Green, 0, 255, 0, 255);
		bGenerateShaders = false;
	}

	xModel_t * Skin   = NULL;

	__asm mov Skin, eax

	cod4_device->device->SetRenderState(D3DRS_LIGHTING, FALSE);
	cod4_device->device->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
	cod4_device->device->SetPixelShader(re_Red);

        oDrawXModelSkinnedCached( a1, a2, a3 );

	cod4_device->device->SetPixelShader(re_Green);
	cod4_device->device->SetRenderState(D3DRS_LIGHTING, FALSE);
	cod4_device->device->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

	oDrawXModelSkinnedCached( a1, a2, a3 );

	__asm mov eax, Skin

	cod4_device->device->SetPixelShader(NULL);
Code:
DetourFunction((PBYTE)0x646870, (PBYTE)nDrawXModelSkinnedCached);
_asm mov [oDrawXModelSkinnedCached], eax
Code:
typedef struct {
    char szUnknown0[230];
} xModel_t;

typedef struct{
    IDirect3DDevice9* device;
} cod4_device_t;

cod4_device_t * cod4_device = (cod4_device_t *)0xCC9A408;
Cool source just complied it works perfect
Hey i have a bad compuer so i cant install visual studio 2010 and I need some include files to compile it, pls can u upload the dll? or say me where i can find the include files because i have been searching for months but i did not find nothing.
Posts 1–3 of 3 · Page 1 of 1

Post a Reply

Similar Threads

Talk with us