mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-23 11:15:34 +08:00
Call the true function before initializing hook.
This commit is contained in:
parent
3c265596a9
commit
4f7e42a905
@ -7,17 +7,11 @@
|
||||
|
||||
#include <set>
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
class Hook_Manager
|
||||
{
|
||||
friend class Base_Hook;
|
||||
|
||||
protected:
|
||||
// TODO: If needed, create a second vector with only the renderers hook
|
||||
// Cause actually, a call to FoundRenderer will unhook everything registered except the renderer hook
|
||||
// If you do that, you should consider moving the renderer hooks to its own class and keep this one generic ?
|
||||
std::set<Base_Hook*> _hooks;
|
||||
|
||||
Hook_Manager();
|
||||
|
@ -120,33 +120,36 @@ HRESULT STDMETHODCALLTYPE Renderer_Detector::MyPresent(IDirect3DDevice9* _this,
|
||||
{
|
||||
Renderer_Detector& inst = Renderer_Detector::Inst();
|
||||
Hook_Manager& hm = Hook_Manager::Inst();
|
||||
auto res = (_this->*_IDirect3DDevice9_Present)(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
|
||||
if (!inst.stop_retry())
|
||||
{
|
||||
DX9_Hook::Inst()->start_hook();
|
||||
}
|
||||
return (_this->*_IDirect3DDevice9_Present)(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
|
||||
return res;
|
||||
}
|
||||
|
||||
HRESULT STDMETHODCALLTYPE Renderer_Detector::MyPresentEx(IDirect3DDevice9Ex* _this, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags)
|
||||
{
|
||||
Renderer_Detector& inst = Renderer_Detector::Inst();
|
||||
Hook_Manager& hm = Hook_Manager::Inst();
|
||||
auto res = (_this->*_IDirect3DDevice9Ex_PresentEx)(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion, dwFlags);
|
||||
if (!inst.stop_retry())
|
||||
{
|
||||
DX9_Hook::Inst()->start_hook();
|
||||
}
|
||||
return (_this->*_IDirect3DDevice9Ex_PresentEx)(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion, dwFlags);
|
||||
return res;
|
||||
}
|
||||
|
||||
BOOL WINAPI Renderer_Detector::MywglMakeCurrent(HDC hDC, HGLRC hGLRC)
|
||||
{
|
||||
Renderer_Detector& inst = Renderer_Detector::Inst();
|
||||
Hook_Manager& hm = Hook_Manager::Inst();
|
||||
auto res = _wglMakeCurrent(hDC, hGLRC);
|
||||
if (!inst.stop_retry())
|
||||
{
|
||||
OpenGL_Hook::Inst()->start_hook();
|
||||
}
|
||||
return _wglMakeCurrent(hDC, hGLRC);
|
||||
return res;
|
||||
}
|
||||
|
||||
void Renderer_Detector::HookDXGIPresent(IDXGISwapChain* pSwapChain)
|
||||
|
Loading…
Reference in New Issue
Block a user