mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Check visible panels in wrapper instead of imgui itself
The SDK's DX interface is much easier to expose to Dear ImGui than game/engine implementations.
This commit is contained in:
parent
684b1e561a
commit
938df1dd89
@ -25,11 +25,9 @@
|
||||
// Includes of the game have to be here since this header is precompiled.
|
||||
#include "string"
|
||||
#include "d3d11.h"
|
||||
#include "public/utility/httplib.h"
|
||||
|
||||
// Game ImGui headers are here for mouse tracking.
|
||||
#include "gameui/IBrowser.h"
|
||||
#include "gameui/IConsole.h"
|
||||
#include "windows/id3dx.h"
|
||||
|
||||
// Configuration flags to add in your imconfig.h file:
|
||||
//#define IMGUI_IMPL_WIN32_DISABLE_GAMEPAD // Disable gamepad support. This was meaningful before <1.81 but we now load XInput dynamically so the option is now less relevant.
|
||||
@ -186,7 +184,7 @@ void ImGui_ImplWin32_Shutdown()
|
||||
static bool ImGui_ImplWin32_UpdateMouseCursor()
|
||||
{
|
||||
// These have to be here to prevent the mouse in-game from flickering when '::SetCursor(...)' is called.
|
||||
if (g_pBrowser->m_bActivate || g_pConsole->m_bActivate)
|
||||
if (PanelsVisible())
|
||||
{
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange)
|
||||
|
@ -445,6 +445,15 @@ void ResetInput()
|
||||
!g_pBrowser->m_bActivate && !g_pConsole->m_bActivate);
|
||||
}
|
||||
|
||||
bool PanelsVisible()
|
||||
{
|
||||
if (g_pBrowser->m_bActivate || g_pConsole->m_bActivate)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//#################################################################################
|
||||
// MANAGEMENT
|
||||
//#################################################################################
|
||||
|
@ -19,7 +19,9 @@ extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam
|
||||
extern HRESULT __stdcall Present(IDXGISwapChain* pSwapChain, UINT nSyncInterval, UINT nFlags);
|
||||
//extern bool LoadTextureBuffer(unsigned char* image_data, const int& image_width, const int& image_height, ID3D11ShaderResourceView** out_srv);
|
||||
extern bool LoadTextureBuffer(unsigned char* buffer, int len, ID3D11ShaderResourceView** out_srv, int* out_width, int* out_height);
|
||||
|
||||
extern void ResetInput();
|
||||
extern bool PanelsVisible();
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Typedefs
|
||||
@ -112,6 +114,7 @@ enum class DXGISwapChainVTbl : short
|
||||
GetLastPresentCount = 17,
|
||||
};
|
||||
|
||||
#ifndef BUILDING_LIBIMGUI
|
||||
inline CMemory p_gGameDevice;
|
||||
inline ID3D11Device** g_ppGameDevice = nullptr;
|
||||
|
||||
@ -129,4 +132,5 @@ class VDXGI : public IDetour
|
||||
virtual void Detach(void) const { }
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
};
|
||||
#endif // !BUILDING_LIBIMGUI
|
||||
#endif // !DEDICATED
|
||||
|
Loading…
x
Reference in New Issue
Block a user