implement MxDirect3D::GetZBufferDepth (#402)

* GetZBufferDepth

* Match

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha 2024-01-04 16:35:52 -04:00 committed by GitHub
parent d4e7bb1132
commit a899b06f5a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 1 deletions

View file

@ -122,6 +122,28 @@ BOOL MxDirect3D::D3DSetMode()
return TRUE;
}
// FUNCTION: LEGO1 0x1009b5a0
DWORD MxDirect3D::GetZBufferBitDepth(MxAssignedDevice* p_assignedDevice)
{
DWORD bitDepth;
if (p_assignedDevice->m_desc.dwFlags & D3DDD_DEVICEZBUFFERBITDEPTH)
bitDepth = p_assignedDevice->m_desc.dwDeviceZBufferBitDepth;
else
bitDepth = 0;
if (bitDepth & DDBD_32)
return 32;
if (bitDepth & DDBD_24)
return 24;
if (bitDepth & DDBD_16)
return 16;
if (bitDepth & DDBD_8)
return 8;
return -1;
}
// FUNCTION: LEGO1 0x1009b5f0
BOOL MxDirect3D::SetDevice(MxDeviceEnumerate& p_deviceEnumerate, MxDriver* p_driver, MxDevice* p_device)
{

View file

@ -23,7 +23,7 @@ class MxAssignedDevice {
friend class MxDirect3D;
private:
public:
GUID m_guid; // 0x00
MxU32 m_flags; // 0x10
D3DDEVICEDESC m_desc; // 0x14
@ -57,6 +57,7 @@ class MxDirect3D : public MxDirectDraw {
BOOL CreateIDirect3D();
BOOL D3DSetMode();
DWORD GetZBufferBitDepth(MxAssignedDevice* p_assignedDevice);
BOOL SetDevice(MxDeviceEnumerate& p_deviceEnumerate, MxDriver* p_driver, MxDevice* p_device);
inline MxAssignedDevice* GetAssignedDevice() { return this->m_assignedDevice; };