You're probably right. Reset doesn't get called because the game doesn't have to. TestCooperativeLevel() always returns D3D_OK. This leaves me confused though, why the text I'm drawing disappears after a split second after hooking. I thought this was due to the reset hook not working, but apparently it's another reason.
I create my font in BeginScene (if font == NULL).
In EndScene:
Code:
static DWORD renderState = 0;
pDevice->GetRenderState( D3DRS_ZFUNC, &renderState );
pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_ALWAYS );
//Drawing here
pDevice->SetRenderState( D3DRS_ZFUNC, renderState );
In Reset I release the font and make it NULL so it gets created again. DrawTextA keeps returning 12 (even when you don't see the text anymore), and font never equals NULL, so I don't see the problem.
Maybe the game draws over my font? But the funny thing is, if I create the font in the beginning of EndScene, and release it at the end, then everything is working fine??
Thanks for your help so far!
Edit:
I'm releasing and recreating the font everytime in BeginScene now. Not that efficient but at least it works. Thanks!