/* -=-=-=-=-=-=-=-=-=- 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; }