1

Background:

Sorry for my English . So I am in a slightly unique situation in the scenario. I am working on a project that involves using a DLL proxy to intercept DirectX9 calls and dnd control drawing of a game.They are things that are statically draw and I want to be able to draw them in another part of the screen.

The Question:

I am wanting to be able to save pixels in a rect on the screen and then draw exact rect somewhere else on the screen. So if I can grab the pixels at x100, y100, w30, h30 and copy that that to another location on the screen that would be great.

This is the code that I have so far which I assume is making a texture from a memory rect.

HRESULT myIDirect3DDevice9::EndScene(void)
{
    GetInput();
    // Draw anything you want before the scene is shown to the user

    m_pIDirect3DDevice9->GetBackBuffer(iSwapChain, iBackBuffer, Type, ppBackBuffer);
    LPDIRECT3DTEXTURE9 textureMap;
    D3DXCreateTexture(m_pIDirect3DDevice9, 100, 100, D3DX_DEFAULT, D3DUSAGE_RENDERTARGET, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &textureMap);
    m_pIDirect3DDevice9->SetTexture(0, textureMap);

   // SP_DX9_draw_text_overlay();
    return(m_pIDirect3DDevice9->EndScene());
}

Project is based off this:

Library_Wrappers

Other notes: I want to avoid DLL injection to accomplish this.

LUser
  • 1,127
  • 4
  • 23
  • 39

0 Answers0