diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 28010b14..eda0eb0b 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -580,14 +580,16 @@ MxResult IsleApp::SetupWindow() LegoOmni::GetInstance()->GetInputManager()->SetUseJoystick(m_useJoystick); LegoOmni::GetInstance()->GetInputManager()->SetJoystickIndex(m_joystickIndex); } - - IDirect3DRMMiniwinDevice* d3drmMiniwinDev = GetD3DRMMiniwinDevice(); - if (d3drmMiniwinDev) { - char buffer[256]; - if (SUCCEEDED(d3drmMiniwinDev->GetDescription(buffer, sizeof(buffer)))) { - SDL_Log("D3DRM device: %s", buffer); - } - d3drmMiniwinDev->Release(); + MxDirect3D* d3d = LegoOmni::GetInstance()->GetVideoManager()->GetDirect3D(); + if (d3d) { + SDL_Log( + "Direct3D driver name=\"%s\" description=\"%s\"", + d3d->GetDeviceName().c_str(), + d3d->GetDeviceDescription().c_str() + ); + } + else { + SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, "Failed to get D3D device name and description"); } } diff --git a/LEGO1/mxdirectx/mxdirect3d.cpp b/LEGO1/mxdirectx/mxdirect3d.cpp index 75ba5e70..d0e0f94d 100644 --- a/LEGO1/mxdirectx/mxdirect3d.cpp +++ b/LEGO1/mxdirectx/mxdirect3d.cpp @@ -312,6 +312,8 @@ BOOL MxDirect3D::SetDevice(MxDeviceEnumerate& p_deviceEnumerate, MxDriver* p_dri d->m_desc = device.m_HELDesc; } + m_deviceName = p_device->m_deviceName; + m_deviceDesc = p_device->m_deviceDesc; m_currentDeviceInfo = d; m_currentDevInfo = d->m_deviceInfo; break; diff --git a/LEGO1/mxdirectx/mxdirect3d.h b/LEGO1/mxdirectx/mxdirect3d.h index db4072cd..b44c72e8 100644 --- a/LEGO1/mxdirectx/mxdirect3d.h +++ b/LEGO1/mxdirectx/mxdirect3d.h @@ -6,6 +6,8 @@ #include "mxdirectxinfo.h" #include "mxstl/stlcompat.h" +#include + #ifdef MINIWIN #include "miniwin/d3d.h" #else @@ -44,6 +46,9 @@ class MxDirect3D : public MxDirectDraw { BOOL SetDevice(MxDeviceEnumerate& p_deviceEnumerate, MxDriver* p_driver, Direct3DDeviceInfo* p_device); + const std::string& GetDeviceName() const { return m_deviceName; } + const std::string& GetDeviceDescription() const { return m_deviceDesc; } + protected: BOOL D3DCreate(); BOOL D3DSetMode(); @@ -60,6 +65,8 @@ class MxDirect3D : public MxDirectDraw { IDirect3DDevice2* m_pDirect3dDevice; // 0x888 BOOL m_bTexturesDisabled; // 0x88c undefined4 m_unk0x890; // 0x890 + std::string m_deviceName; + std::string m_deviceDesc; }; // GLOBAL: LEGO1 0x100dd1b0 diff --git a/miniwin/include/miniwin/miniwindevice.h b/miniwin/include/miniwin/miniwindevice.h index 2b62b198..032e776d 100644 --- a/miniwin/include/miniwin/miniwindevice.h +++ b/miniwin/include/miniwin/miniwindevice.h @@ -5,5 +5,4 @@ DEFINE_GUID(IID_IDirect3DRMMiniwinDevice, 0x6eb09673, 0x8d30, 0x4d8a, 0x8d, 0x81 struct IDirect3DRMMiniwinDevice : virtual public IUnknown { virtual float GetShininessFactor() = 0; virtual HRESULT SetShininessFactor(float factor) = 0; - virtual HRESULT GetDescription(char* buffer, int bufferSize) = 0; }; diff --git a/miniwin/src/d3drm/backends/opengl15/renderer.cpp b/miniwin/src/d3drm/backends/opengl15/renderer.cpp index e2537ea0..ed13ed36 100644 --- a/miniwin/src/d3drm/backends/opengl15/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl15/renderer.cpp @@ -411,9 +411,3 @@ HRESULT OpenGL15Renderer::FinalizeFrame() return DD_OK; } - -HRESULT OpenGL15Renderer::GetDescription(char* buffer, int bufferSize) -{ - SDL_strlcpy(buffer, "Miniwin OpenGL 1.5 renderer", bufferSize); - return DD_OK; -} diff --git a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp index 8dab5401..d61f6954 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp +++ b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp @@ -772,9 +772,3 @@ HRESULT Direct3DRMSDL3GPURenderer::FinalizeFrame() return DD_OK; } - -HRESULT Direct3DRMSDL3GPURenderer::GetDescription(char* buffer, int bufferSize) -{ - SDL_strlcpy(buffer, "Miniwin SDL3_gpu renderer", bufferSize); - return DD_OK; -} diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index f9ca342f..0fc243c1 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -540,9 +540,3 @@ HRESULT Direct3DRMSoftwareRenderer::FinalizeFrame() return DD_OK; } - -HRESULT Direct3DRMSoftwareRenderer::GetDescription(char* buffer, int bufferSize) -{ - SDL_strlcpy(buffer, "Miniwin software renderer", bufferSize); - return DD_OK; -} diff --git a/miniwin/src/d3drm/d3drmdevice.cpp b/miniwin/src/d3drm/d3drmdevice.cpp index 71789120..2000cf56 100644 --- a/miniwin/src/d3drm/d3drmdevice.cpp +++ b/miniwin/src/d3drm/d3drmdevice.cpp @@ -148,8 +148,3 @@ HRESULT Direct3DRMDevice2Impl::SetShininessFactor(float factor) { return m_renderer->SetShininessFactor(factor); } - -HRESULT Direct3DRMDevice2Impl::GetDescription(char* buffer, int bufferSize) -{ - return m_renderer->GetDescription(buffer, bufferSize); -} diff --git a/miniwin/src/internal/d3drmdevice_impl.h b/miniwin/src/internal/d3drmdevice_impl.h index 6a7ad66c..e96bcd43 100644 --- a/miniwin/src/internal/d3drmdevice_impl.h +++ b/miniwin/src/internal/d3drmdevice_impl.h @@ -35,7 +35,6 @@ struct Direct3DRMDevice2Impl : public Direct3DRMObjectBaseImpl