Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Zresetuj d3d9
#1
Dzień dobry, ludzie tutaj ...   nie wiem od czego zacząć,   Nie jestem nowy na kodowanie w C ++ i zawsze staram się uczyć z każdego tutoriala głównie w samouczku spoonfeed, gdzie znajduje się odpowiedź.     OK, mam problem z rysowaniem prostego tekstu w oknie gry. Nazwa gry nie jest ważna, ponieważ może to być pytanie ogólne.   problemem jest .. w lobby Tekst pokazuje Dobrze, ale za każdym razem, gdy naciskam przycisk Start, który spowoduje wywołanie resetowania gry, pojawia się komunikatBox Failed Initialize Direct3d ..   o ile mi wiadomo kod powinien działać dobrze, ale nie jest ...   Używam Engine Hook, oto część kodu.     Kod:   Kod: EndScene: D3DXCreateFontA (pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Verdana", & pFont); DrawTextA ("Test2023", 50, 50, Czerwony, pFont);     Kod:   Reset: __declspec (nagi) VOID WINAPI Engine () {_asm {mov Zapisz, eax mov eax, Reset_ReHook mov [ecx + 0x40], eax mov eax, Zapisz mov edx, [ecx + 0x40] jmp [EngineRet] Reset_ReHook: mov edi , edi push ebp mov ebp, esp PUSHFD PUSHAD PUSH DWORD PTR SS: [EBP + 0x0C] // D3DPRESENT_PARAMETERS * pPresentationParameters PUSH DWORD PTR SS: [EBP + 0x08] // LPDIRECT3DDEVICE9 pDevice CALL [Reset_Detour] POPAD POPFD jmp [Reset_D3D9_Ret]} } VOID APIENTRY Reset_Detour (LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters) {HRESULT hr = NULL; if (pFont) pFont -> OnLostDevice (); hr = oReset (pDevice, pPresentationParameters); if (hr == D3D_OK) {if (pFont) pFont -> OnResetDevice (); }}   Z góry dziękuję
Reply
#2
Gdzie jest funkcja End Scene Mid?
Reply
#3
Spróbuj użyć tego Resetuj objazd: Kod: HRESULT WINAPI Reset_Detour (LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters) {if (pFont) pFont -> OnLostDevice (); HRESULT hr = oReset (pDevice, pPresentationParameters); if (hr == D3D_OK) {pFont -> OnResetDevice (); }} przy okazji najlepszą rzeczą, jaką możesz zrobić, jest odwrócenie do znalezienia statycznego wskaźnika do urządzenia gry, a następnie użycie haka vmt.
Reply
#4
Dzięki za odpowiedź, ale już naprawiłem problem ... Zacytować: przy okazji najlepszą rzeczą, jaką możesz zrobić, jest odwrócenie do znalezienia statycznego wskaźnika do urządzenia gry, a następnie użycie haka vmt. To też działa, ale wolałbym raczej używać tej metody UD.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)