Midfunction EndScene D3D9 [ WinXP, WinVista, Win7 e Win8 ]
Code:
__declspec(naked) void MyEndscene()
{
static LPDIRECT3DDEVICE9 pDevice;
if (CheckWindowsVersion(6, 2, VER_NT_WORKSTATION)) // Windows 8 / 8.1
{
__asm
{
MOV DWORD PTR SS : [EBP - 0x20], EBX
MOV DWORD PTR SS : [EBP - 0x1C], EDI
MOV pDevice, ESI
PUSHAD
}
}
else if (CheckWindowsVersion(6, 0, VER_NT_WORKSTATION) || CheckWindowsVersion(6, 1, VER_NT_WORKSTATION)) // Windows 7 / Vista
{
__asm
{
MOV DWORD PTR SS : [EBP - 0x10], ESP
MOV ESI, DWORD PTR SS : [EBP + 0x8]
MOV pDevice, ESI
PUSHAD
}
}
else if (CheckWindowsVersion(5, 1, VER_NT_WORKSTATION)) // Windows XP
{
__asm
{
MOV DWORD PTR SS : [EBP - 0x1C], EDI
MOV DWORD PTR SS : [EBP - 0x18], EBX
MOV pDevice, ESI
PUSHAD
}
}
// Bota A Farinha Aqui :D
__asm
{
POPAD
jmp dwEndscene_ret
}
}
Shad0w_ e zerocool_br




