DWORD dwES_HOOK = 0x57341E; DWORD dwES_RESTORE = dwES_HOOK+0x5; DWORD dwRES_HOOK = 0x570E4E; DWORD dwRES_RESTORE = dwRES_HOOK+0x7; DWORD dwPRES_HOOK = 0x65B316; DWORD dwPRES_RESTORE = dwPRES_HOOK+0x5;
__declspec( naked ) void Present_Hook( )
{
_asm
{
MOV ECX, DWORD PTR DS:[EAX]
MOV EDX, DWORD PTR DS:[ECX+0x44]
PUSHAD
}
//call your shit here
_asm
{
POPAD
JMP[ dwPRES_RESTORE ]
}
}
_declspec( naked ) void Reset_Hook( )
{
_asm
{
MOV ECX, DWORD PTR DS:[EAX]
MOV EDX, DWORD PTR DS:[ECX+0x40]
PUSHAD
}
main->OnLostDevice( );
_asm
{
POPAD
CALL EDX
PUSHAD
}
main->OnResetDevice( );
_asm
{
POPAD
JMP[ dwRES_RESTORE ]
}
}
Stephen Gellin S0biet Shad0w_
__declspec( naked ) void Endscene_Hook( )
{
_asm
{
MOV ECX, DWORD PTR DS:[EAX]
MOV EDX, DWORD PTR DS:[ECX+0xA8]
PUSHAD
}
//d3dstuff
_asm
{
POPAD
JMP[ dwES_RESTORE ]
}
}

