
19.02.2022, 15:18
|
|
Познавший АНТИЧАТ
Регистрация: 29.03.2021
Сообщений: 1,092
С нами:
2698985
Репутация:
88
|
|
Сообщение от ImmortalDev
Хм, большое спасибо, это правда работает)
Правда первый раз крашнуло, но я в енд сцене потом добавил EndRender и все заработало!
endframe не всегда нужен. Если у тебя нет чилда, хук будет крашить т.к. нет окна и нет endframe'a, если сделать:
C++:
Код:
HRESULT __stdcall
hkEndScene
(
IDirect3DDevice9
*
pDevice
)
{
if
(
!
initialized
)
InitImGui
(
pDevice
)
;
else
{
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
Begin
(
"test"
,
nullptr
)
;
{
}
ImGui
::
End
(
)
;
ImGui
::
Render
(
)
;
ImGui_ImplDX9_RenderDrawData
(
ImGui
::
GetDrawData
(
)
)
;
}
return
oEndScene
(
pDevice
)
;
}
то крашить не будет, а если сделать так:
C++:
Код:
HRESULT __stdcall
hkEndScene
(
IDirect3DDevice9
*
pDevice
)
{
if
(
!
initialized
)
InitImGui
(
pDevice
)
;
else
{
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
EndFrame
(
)
;
ImGui
::
Render
(
)
;
ImGui_ImplDX9_RenderDrawData
(
ImGui
::
GetDrawData
(
)
)
;
}
return
oEndScene
(
pDevice
)
;
}
то так тоже не будет, т.к. не рендерится окно, при рендере окна(begin) endframe не нужен
|
|
|