From 3204429cd45f784516253ef92a6004e8e5fa7e2e Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Wed, 26 Jun 2024 17:01:16 +0200 Subject: [PATCH] Ignore failed assertions from d3drm unimplemented functions --- LEGO1/lego/sources/3dmanager/tglsurface.cpp | 25 ++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/LEGO1/lego/sources/3dmanager/tglsurface.cpp b/LEGO1/lego/sources/3dmanager/tglsurface.cpp index f03206d9..fef0d511 100644 --- a/LEGO1/lego/sources/3dmanager/tglsurface.cpp +++ b/LEGO1/lego/sources/3dmanager/tglsurface.cpp @@ -8,6 +8,25 @@ DECOMP_SIZE_ASSERT(TglSurface, 0x70); using namespace Tgl; +#ifdef D3DRM_WINE + +#include + +#define d3drm_wine_assert(COND) \ + do { \ + if (!(COND)) { \ + SDL_Log( \ + "%s:%d Assertion failed: \"%s\" (ignored because wine-d3d does not implement it)", \ + __FILE__, \ + __LINE__, \ + #COND \ + ); \ + } \ + } while (0) +#else +#define d3drm_wine_assert(X) assert(X) +#endif + ///////////////////////////////////////////////////////////////////////////// // TglSurface @@ -126,11 +145,11 @@ BOOL TglSurface::Create(const CreateStruct& rCreateStruct, Renderer* pRenderer, if (textureShadeCount != -1) { result = pRenderer->SetTextureDefaultShadeCount(textureShadeCount); - assert(Succeeded(result)); + d3drm_wine_assert(Succeeded(result)); } if (textureColorCount != -1) { result = pRenderer->SetTextureDefaultColorCount(textureColorCount); - assert(Succeeded(result)); + d3drm_wine_assert(Succeeded(result)); } result = m_pDevice->SetColorModel(colorModel); @@ -138,7 +157,7 @@ BOOL TglSurface::Create(const CreateStruct& rCreateStruct, Renderer* pRenderer, result = m_pDevice->SetShadingModel(shadingModel); assert(Succeeded(result)); result = m_pDevice->SetShadeCount(shadeCount); - assert(Succeeded(result)); + d3drm_wine_assert(Succeeded(result)); result = m_pDevice->SetDither(dither); assert(Succeeded(result));