Como coloca Sprite em um Menu ? :D

Posts 1–15 of 31 · Page 1 of 3
Como coloca Sprite em um Menu ? :D
Olá galera da MPGH vim Trazer Como coloca Sprite em um Menu para os novatos Bom eu so um deles Mais lembrando para coloca isso em um Menu voçê ira ter que estuda um Pouco Mais se voçê so quer testa vo Posta o Codigo!


Add um Sprite.cpp é cole o Codigo. Use um Gerador de Sprite para Gera o Codigo da sua imagem Creditos Coder.Anonymous disse que estava Errado
Code:
/*========================================================= |
                                                            |
Creditos: ExperT Hack,Victorlus,Code64,Coder.Anonymous.     |
                                                            |
ExperT Hack ajudou em tudo,                                 |
Code64 me disse oque era Sprite não sabia'-                 |
Coder.Anonymous Ajudou um Pouco sobre Sprite,               | 
                                                            |
                                                            |
============================================================*/

#include <Windows.h> 
#include "d3d9.h" 
#include "d3dx9.h"
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
 

extern LPD3DXSPRITE Sprite;
LPDIRECT3DDEVICE9 s_pDevice = 0;
LPD3DXSPRITE Sprite;
LPDIRECT3DTEXTURE9 MenuTexture;
static BOOL sprite = TRUE;
//Aqui Vai os BYTE da Imagem Name bSprite 
//Aqui Vai os BYTE da Imagem Name bSprite  
//Aqui Vai os BYTE da Imagem Name bSprite 
//Aqui Vai os BYTE da Imagem Name bSprite 
//Aqui Vai os BYTE da Imagem Name bSprite

void CreateSprite(LPDIRECT3DDEVICE9 pDevice)
{
if (s_pDevice != pDevice) 

{ s_pDevice = pDevice;
D3DXCreateTextureFromFileInMemoryEx(pDevice, &bSprite, sizeof(bSprite), 240/*Largura Da Sprinte*/,776 /*Tamanho Da Sprinte*/, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &MenuTexture);
D3DXCreateSprite(pDevice,&Sprite);
}
}

LPD3DXFONT Directx_Font;

typedef HRESULT (WINAPI* tPresent)(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
tPresent oPresent;

typedef HRESULT (WINAPI* tReset)(LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS *Parametri);
tReset oReset;


VOID CreateDevice(DWORD *dwVTable)
{
	LPDIRECT3D9 pD3d9;
	LPDIRECT3DDEVICE9 pD3DDevice;
	pD3d9 = Direct3DCreate9(D3D_SDK_VERSION);
	if(pD3d9 == NULL)
		return;
	D3DPRESENT_PARAMETERS pPresentParms;
	ZeroMemory(&pPresentParms, sizeof(pPresentParms));
	pPresentParms.Windowed = TRUE;
	pPresentParms.BackBufferFormat = D3DFMT_UNKNOWN;
	pPresentParms.SwapEffect = D3DSWAPEFFECT_DISCARD;
	if(FAILED(pD3d9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, GetDesktopWindow(), D3DCREATE_SOFTWARE_VERTEXPROCESSING, &pPresentParms, &pD3DDevice)))
		return;
	DWORD *dwTable = (DWORD *)pD3DDevice;
	dwTable = (DWORD *) dwTable[0];
	dwVTable[0] = dwTable[16];
	dwVTable[1] = dwTable[17];
}

VOID *Salta(BYTE *src, CONST BYTE *dst, CONST INT len)
{
	BYTE *jmp = (BYTE *)malloc(len + 5);
	DWORD dwback;
	VirtualProtect(src, len, PAGE_READWRITE, &dwback);
	memcpy(jmp, src, len);
	jmp += len;
	jmp[0] = 0xE9;
	*(DWORD *)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
	src[0] = 0xE9;
	*(DWORD *)(src + 1) = (DWORD)(dst - src) - 5;
	for(INT i = 5; i < len; i++) src[i] = 0x90;
	VirtualProtect(src, len, dwback, &dwback);

	return(jmp - len);
}

HRESULT WINAPI hkReset(LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS *Parametri)
{
	Directx_Font->OnLostDevice();
	Sprite->OnLostDevice();

	HRESULT hTorna = oReset(pDevice, Parametri);

	if(SUCCEEDED(hTorna))
	{
		Directx_Font->OnResetDevice();
		Sprite->OnResetDevice();
	}

	return hTorna;
}



INT menux = 20; //Posicao X
INT menuy = 25; //Posicao Y

BOOL bFont = FALSE; //Booleana para criação de fonte.

BOOL Show = true;
HRESULT WINAPI hkPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
	if(Directx_Font)
	{
		Directx_Font->Release();
		Directx_Font = NULL;
		bFont = FALSE;
	}

	if(!bFont)
	{
		D3DXCreateFont(pDevice, 14, 6, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &Directx_Font);
		bFont = TRUE;
	}

	D3DXVECTOR3 SpritePos;
	SpritePos.x = menux;
	SpritePos.y = menuy - 40;
	SpritePos.z = 0;


	CreateSprite(pDevice);
	Sprite->Begin(D3DXSPRITE_ALPHABLEND); 

	if(GetAsyncKeyState(VK_INSERT)&1) Show = !Show;

	if(Show)
	{
			Sprite->Draw(MenuTexture,NULL,NULL,&SpritePos,0xFFFFFFFF);
			Sprite->End();
	}

	return oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

DWORD WINAPI dwWait(LPVOID lpArgs)
{
	DWORD dwD3D9 = NULL;
	while(!dwD3D9)
	{
		Sleep(100);
		dwD3D9 = (DWORD)GetModuleHandle("d3d9.dll");
	}

	DWORD dwVTable[3] = {0};
	CreateDevice(dwVTable);

	oReset	 = (tReset)	 Salta((PBYTE)dwVTable[0], (PBYTE)&hkReset,	  5);
	oPresent = (tPresent)Salta((PBYTE)dwVTable[1], (PBYTE)&hkPresent, 5);

	return NULL;
}


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

	if(dwReason == DLL_PROCESS_ATTACH)
	{
		CreateThread(NULL, NULL, &dwWait, NULL, NULL, NULL);
	}

	return TRUE;
}
[/CENTER]


Creditos :
ExperT Hack
Victorlus
Code64
Coder.Anonymous




Da um Thanks Não vai cair o DEDO
i5Qs2Lf.jpg18 KB · 105 downloads
Legal cara vlw pela Iniciativa .
Ganho meu Thank's *-*
Coloca um print pros cara, pq eu acho que alguns nem sabe oque é Sprite.
calma aew oque um Sprite?
Nao sabe? kkkk
Quote Originally Posted by 6ixth View Post
Coloca um print pros cara, pq eu acho que alguns nem sabe oque é Sprite.
calma aew oque um Sprite?
Quote Originally Posted by dreek1 View Post
Nao sabe? kkkk
NÃO! Porque ele não explicou.
zuera
@victorlus cria um tutorial ensinando a respirar por favor, estou com um pouco de dificuldade em fazer isso.

Obrigado.
Belo Tutorial So Tive Uma Duvida : Como coloca Sprite ?
Quote Originally Posted by Fix2 View Post
Belo Tutorial So Tive Uma Duvida : Como coloca Sprite ?
HAUEAHEUAHEUAEHAUEHAEUHAEUAE

Agora que fui ver que no final de tudo nada foi esplicado HAUEHAEUAHEUA
Quote Originally Posted by TokolocoSK View Post


HAUEAHEUAHEUAEHAUEHAEUHAEUAE

Agora que fui ver que no final de tudo nada foi esplicado HAUEHAEUAHEUA
Isso Msm '--' Aprendi So 1 Coisa ! Qe Quando Vc Corigi 1 Erro Vem 1 Milhao
Quote Originally Posted by TokolocoSK View Post


HAUEAHEUAHEUAEHAUEHAEUHAEUAE

Agora que fui ver que no final de tudo nada foi esplicado HAUEHAEUAHEUA
AEUAEHAUEUAEUAE, Nao e por nada, mais o PT ta 100% "esplicado" !
Quote Originally Posted by XarutoUsoCrack View Post
AEUAEHAUEUAEUAE, Nao e por nada, mais o PT ta 100% "esplicado" !
Só Eu Que N Entendi ?
Quote Originally Posted by Fix2 View Post
Só Eu Que N Entendi ?
Ele só ta pagando de Professor Pasquale ...
Não dou thanks, pq tenho medo que caia meu dedo!
Posts 1–15 of 31 · Page 1 of 3
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?