rendered paste body/*
-=-=-=-=-=-=-=-=-=-
Do Clean Screenshot
-=-=-=-=-=-=-=-=-=-
*/
VOID ( WINAPI *orig_DdLock )( DWORD *pLock );
VOID WINAPI DdLock_Hook( DWORD *pLock )
{
if( pLock )
{
show = 0;
Game->Com_Frame( );
show = 1;
}
orig_DdLock( pLock );
}
/*
-=-=-=-=-=-=-=-=-
ScreenShot Offset
-=-=-=-=-=-=-=-=-
*/
bool ScreenShotOffset( void )
{
DWORD dwPBCLPatchOffset;
MODULEENTRY32 modentry;
CMemoryPatcher patcher;
if ( !patcher.Init( ) )
{
return false;
}
if ( !patcher.FindModuleInProcess( "gdi32.dll", GetCurrentProcessId( ), &modentry ) )
{
return false;
}
dwPBCLPatchOffset = (DWORD)patcher.FindPatternWithMask( GetCurrentProcessId( ), ( PBYTE )"\x8B\xFF\x55\x8B\xEC\x8B\x45\x08\x6A\x00\x50\x8B\x40\x04\xFF\x70\x08\xE8\x09\x00\x00\x00\x5D\xC2\x04\x00", ( PBYTE )"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff", 26, ( DWORD ) modentry.modBaseAddr, modentry.modBaseSize );
orig_DdLock = (VOID (WINAPI *)(DWORD *))DetourFunction((PBYTE)dwPBCLPatchOffset, (PBYTE)DdLock_Hook );
return true;
}