Запустить функции прокси DirectX * после * исходных функций, чем * до *?

У меня есть прокси D3D9.dll и я заметил, что мой DirectX::Present называется перед тем из игры.

Можно ли это изменить (сначала исходные функции, затем мои функции)? Некоторые элементы, которые я рисую, переопределяются игрой.

Игра использует Ogre3D для рендеринга.

Примечание: я также хочу сделать некоторые «хаки», такие как заморозить камеру, и я заметил следующие вещи:

Установка положения камеры перед играми DirectX::Present функция не дает результатов при настройке положения камеры после игр DirectX::Present называть результаты в поведении, которое я хочу. (Проверено с CheatEngine)

0

Решение

обычно у вас в прокси есть такая структура:

HRESULT my_IDirect3DDevice9::Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion)
{
return (m_pIDirect3DDevice9->Present( pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion));
}

чтобы сначала сделать оригинальную функцию, вам нужно сделать что-то вроде:

HRESULT uMod_IDirect3DDevice9::Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion)
{
HRESULT myresult = (m_pIDirect3DDevice9->Present( pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion));
*** YOUR CODEWHATEVER ****
return myresult;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]