Fix inline function 'void TglImpl::RendererImpl::Destroy()' used but never defined

This commit is contained in:
Anonymous Maarten 2024-01-06 20:25:06 +01:00
parent edb3b9d213
commit e878b4b9d4
2 changed files with 22 additions and 18 deletions

View File

@ -85,6 +85,25 @@ class RendererImpl : public Renderer {
IDirect3DRM2* m_data;
};
extern IDirect3DRM2* g_pD3DRM;
inline void RendererDestroy(IDirect3DRM2* pRenderer)
{
int refCount = pRenderer->Release();
if (refCount <= 0) {
g_pD3DRM = NULL;
}
}
// Inlined only
void RendererImpl::Destroy()
{
if (m_data) {
RendererDestroy(m_data);
m_data = NULL;
}
}
// VTABLE 0x100db988
class DeviceImpl : public Device {
public:

View File

@ -13,8 +13,10 @@ Renderer* Tgl::CreateRenderer()
return renderer;
}
namespace TglImpl {
// GLOBAL: LEGO1 0x1010103c
IDirect3DRM2* g_pD3DRM = NULL;
IDirect3DRM2 *g_pD3DRM = NULL;
}
// Inlined only
Result RendererImpl::Create()
@ -31,23 +33,6 @@ Result RendererImpl::Create()
return (m_data != NULL) ? Success : Error;
}
inline void RendererDestroy(IDirect3DRM2* pRenderer)
{
int refCount = pRenderer->Release();
if (refCount <= 0) {
g_pD3DRM = NULL;
}
}
// Inlined only
void RendererImpl::Destroy()
{
if (m_data) {
RendererDestroy(m_data);
m_data = NULL;
}
}
// FUNCTION: LEGO1 0x100a1894
Device* RendererImpl::CreateDevice(const DeviceDirect3DCreateData& data)
{