File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -169,6 +169,18 @@ class ImguiOverlay : public Hook
169169 Overlay_Render ();
170170 }
171171
172+ inline static SafetyHookMid midhook_d3dTemporariesRelease{};
173+ static void dest_d3dTemporariesRelease (SafetyHookContext& ctx)
174+ {
175+ ImGui_ImplDX9_InvalidateDeviceObjects ();
176+ }
177+
178+ inline static SafetyHookMid midhook_d3dTemporariesCreate{};
179+ static void dest_d3dTemporariesCreate (SafetyHookContext& ctx)
180+ {
181+ ImGui_ImplDX9_CreateDeviceObjects ();
182+ }
183+
172184public:
173185 std::string_view description () override
174186 {
@@ -184,10 +196,15 @@ class ImguiOverlay : public Hook
184196 {
185197 constexpr int InitDirectX_CallerResult_Addr = 0x1775E ;
186198 constexpr int Direct3D_EndScene_CallerAddr = 0x17D4E ;
199+ constexpr int D3D_ReleaseTemporaries_Addr = 0x17970 ;
200+ constexpr int D3D_CreateTemporaries_Addr = 0x17A20 ;
187201
188202 midhook_d3dinit = safetyhook::create_mid (Module::exe_ptr (InitDirectX_CallerResult_Addr), dest_d3dinit);
189203 midhook_d3dendscene = safetyhook::create_mid (Module::exe_ptr (Direct3D_EndScene_CallerAddr), dest_d3dendscene);
190204
205+ midhook_d3dTemporariesRelease = safetyhook::create_mid (Module::exe_ptr (D3D_ReleaseTemporaries_Addr), dest_d3dTemporariesRelease);
206+ midhook_d3dTemporariesCreate = safetyhook::create_mid (Module::exe_ptr (D3D_CreateTemporaries_Addr), dest_d3dTemporariesCreate);
207+
191208 return !!midhook_d3dinit && !!midhook_d3dendscene;
192209 }
193210
You can’t perform that action at this time.
0 commit comments