mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
Beta matching
This commit is contained in:
parent
0b0d39a246
commit
3ed1e8606c
@ -28,6 +28,16 @@ MxAssignedDevice::~MxAssignedDevice()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x1011d7f0
|
||||||
|
MxDriver::MxDriver(LPGUID p_guid)
|
||||||
|
{
|
||||||
|
m_guid = NULL;
|
||||||
|
m_driverDesc = NULL;
|
||||||
|
m_driverName = NULL;
|
||||||
|
memset(&m_ddCaps, 0, sizeof(m_ddCaps));
|
||||||
|
// TODO: ret vs ret 4
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: CONFIG 0x00401180
|
// FUNCTION: CONFIG 0x00401180
|
||||||
// FUNCTION: LEGO1 0x1009ba80
|
// FUNCTION: LEGO1 0x1009ba80
|
||||||
// FUNCTION: BETA10 0x1011d8b6
|
// FUNCTION: BETA10 0x1011d8b6
|
||||||
@ -225,7 +235,7 @@ BOOL MxDeviceEnumerate::EnumDirectDrawCallback(LPGUID p_guid, LPSTR p_driverDesc
|
|||||||
BuildErrorString("D3D enum devices failed: %s\n", EnumerateErrorToString(result));
|
BuildErrorString("D3D enum devices failed: %s\n", EnumerateErrorToString(result));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (newDevice.m_devices.empty()) {
|
if (!newDevice.m_devices.size()) {
|
||||||
m_list.pop_back();
|
m_list.pop_back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -296,11 +306,11 @@ HRESULT CALLBACK MxDeviceEnumerate::DevicesEnumerateCallback(
|
|||||||
// FUNCTION: BETA10 0x1011e27f
|
// FUNCTION: BETA10 0x1011e27f
|
||||||
HRESULT MxDeviceEnumerate::EnumDisplayModesCallback(LPDDSURFACEDESC p_ddsd)
|
HRESULT MxDeviceEnumerate::EnumDisplayModesCallback(LPDDSURFACEDESC p_ddsd)
|
||||||
{
|
{
|
||||||
MxDisplayMode displayMode;
|
assert(m_list.size() > 0);
|
||||||
displayMode.m_width = p_ddsd->dwWidth;
|
assert(p_ddsd);
|
||||||
displayMode.m_height = p_ddsd->dwHeight;
|
|
||||||
displayMode.m_bitsPerPixel = p_ddsd->ddpfPixelFormat.dwRGBBitCount;
|
|
||||||
|
|
||||||
|
// TODO: compat_mode?
|
||||||
|
MxDisplayMode displayMode(p_ddsd->dwWidth, p_ddsd->dwHeight, p_ddsd->ddpfPixelFormat.dwRGBBitCount);
|
||||||
m_list.back().m_displayModes.push_back(displayMode);
|
m_list.back().m_displayModes.push_back(displayMode);
|
||||||
return DDENUMRET_OK;
|
return DDENUMRET_OK;
|
||||||
}
|
}
|
||||||
@ -605,19 +615,12 @@ int MxDeviceEnumerate::ProcessDeviceBytes(int p_deviceNum, GUID& p_guid)
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
int j = 0;
|
int j = 0;
|
||||||
|
|
||||||
struct GUID4 {
|
|
||||||
int m_data1;
|
|
||||||
int m_data2;
|
|
||||||
int m_data3;
|
|
||||||
int m_data4;
|
|
||||||
};
|
|
||||||
|
|
||||||
static_assert(sizeof(GUID4) == sizeof(GUID), "Equal size");
|
static_assert(sizeof(GUID4) == sizeof(GUID), "Equal size");
|
||||||
|
|
||||||
GUID4 deviceGuid;
|
GUID4 deviceGuid;
|
||||||
memcpy(&deviceGuid, &p_guid, sizeof(GUID4));
|
memcpy(&deviceGuid, &p_guid, sizeof(GUID4));
|
||||||
|
|
||||||
for (list<MxDriver>::iterator it = m_list.begin(); it != m_list.end(); it++) {
|
for (list<MxDriver>::iterator it = m_list.begin(); it != m_list.end(); it++, i++) {
|
||||||
if (p_deviceNum >= 0 && p_deviceNum < i) {
|
if (p_deviceNum >= 0 && p_deviceNum < i) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -625,18 +628,17 @@ int MxDeviceEnumerate::ProcessDeviceBytes(int p_deviceNum, GUID& p_guid)
|
|||||||
GUID4 compareGuid;
|
GUID4 compareGuid;
|
||||||
MxDriver& driver = *it;
|
MxDriver& driver = *it;
|
||||||
for (list<Direct3DDeviceInfo>::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end(); it2++) {
|
for (list<Direct3DDeviceInfo>::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end(); it2++) {
|
||||||
memcpy(&compareGuid, (*it2).m_guid, sizeof(GUID4));
|
Direct3DDeviceInfo& md3d = *it2;
|
||||||
|
assert(md3d.m_guid);
|
||||||
|
|
||||||
if (compareGuid.m_data1 == deviceGuid.m_data1 && compareGuid.m_data2 == deviceGuid.m_data2 &&
|
memcpy(&compareGuid, md3d.m_guid, sizeof(GUID4));
|
||||||
compareGuid.m_data3 == deviceGuid.m_data3 && compareGuid.m_data4 == deviceGuid.m_data4 &&
|
|
||||||
i == p_deviceNum) {
|
if (GUID4::Compare(compareGuid, deviceGuid) && i == p_deviceNum) {
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
@ -669,23 +671,24 @@ int MxDeviceEnumerate::GetDevice(int p_deviceNum, MxDriver*& p_driver, Direct3DD
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MXDIRECTX_FOR_CONFIG) || defined(_DEBUG)
|
|
||||||
// FUNCTION: CONFIG 0x004027d0
|
// FUNCTION: CONFIG 0x004027d0
|
||||||
// FUNCTION: BETA10 0x1011cb70
|
// FUNCTION: BETA10 0x1011cb70
|
||||||
int MxDeviceEnumerate::FormatDeviceName(char* p_buffer, const MxDriver* p_driver, const Direct3DDeviceInfo* p_device)
|
int MxDeviceEnumerate::FormatDeviceName(char* p_buffer, const MxDriver* p_ddInfo, const Direct3DDeviceInfo* p_d3dInfo)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
int number = 0;
|
int number = 0;
|
||||||
|
assert(p_ddInfo && p_d3dInfo);
|
||||||
|
|
||||||
for (list<MxDriver>::const_iterator it = m_list.begin(); it != m_list.end(); it++) {
|
for (list<MxDriver>::const_iterator it = m_list.begin(); it != m_list.end(); it++) {
|
||||||
if (&(*it) == p_driver) {
|
if (&(*it) == p_ddInfo) {
|
||||||
sprintf(
|
sprintf(
|
||||||
p_buffer,
|
p_buffer,
|
||||||
"%d 0x%x 0x%x 0x%x 0x%x",
|
"%d 0x%x 0x%x 0x%x 0x%x",
|
||||||
number,
|
number,
|
||||||
((DWORD*) (p_device->m_guid))[0],
|
((DWORD*) (p_d3dInfo->m_guid))[0],
|
||||||
((DWORD*) (p_device->m_guid))[1],
|
((DWORD*) (p_d3dInfo->m_guid))[1],
|
||||||
((DWORD*) (p_device->m_guid))[2],
|
((DWORD*) (p_d3dInfo->m_guid))[2],
|
||||||
((DWORD*) (p_device->m_guid))[3]
|
((DWORD*) (p_d3dInfo->m_guid))[3]
|
||||||
);
|
);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -693,17 +696,17 @@ int MxDeviceEnumerate::FormatDeviceName(char* p_buffer, const MxDriver* p_driver
|
|||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// FUNCTION: CONFIG 0x00402860
|
// FUNCTION: CONFIG 0x00402860
|
||||||
// FUNCTION: LEGO1 0x1009d0d0
|
// FUNCTION: LEGO1 0x1009d0d0
|
||||||
|
// FUNCTION: BETA10 0x1011cdb4
|
||||||
int MxDeviceEnumerate::FUN_1009d0d0()
|
int MxDeviceEnumerate::FUN_1009d0d0()
|
||||||
{
|
{
|
||||||
if (!m_initialized) {
|
if (!IsInitialized()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_list.empty()) {
|
if (m_list.size() == 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -712,30 +715,32 @@ int MxDeviceEnumerate::FUN_1009d0d0()
|
|||||||
int k = -1;
|
int k = -1;
|
||||||
int cpu_mmx = SupportsMMX();
|
int cpu_mmx = SupportsMMX();
|
||||||
|
|
||||||
for (list<MxDriver>::iterator it = m_list.begin();; it++) {
|
for (list<MxDriver>::iterator it = m_list.begin(); it != m_list.end(); it++, i++) {
|
||||||
if (it == m_list.end()) {
|
|
||||||
return k;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (list<Direct3DDeviceInfo>::iterator it2 = (*it).m_devices.begin(); it2 != (*it).m_devices.end(); it2++) {
|
MxDriver& driver = *it;
|
||||||
|
for (list<Direct3DDeviceInfo>::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end(); it2++) {
|
||||||
if ((*it2).m_HWDesc.dcmColorModel) {
|
if ((*it2).m_HWDesc.dcmColorModel) {
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
if ((cpu_mmx && (*it2).m_HELDesc.dcmColorModel == D3DCOLOR_RGB && i == 0) ||
|
if (cpu_mmx && (*it2).m_HELDesc.dcmColorModel == D3DCOLOR_RGB && i == 0) {
|
||||||
((*it2).m_HELDesc.dcmColorModel == D3DCOLOR_MONO && i == 0 && k < 0)) {
|
k = j;
|
||||||
k = j;
|
}
|
||||||
|
else if ((*it2).m_HELDesc.dcmColorModel == D3DCOLOR_MONO && i == 0 && k < 0) {
|
||||||
|
k = j;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: CONFIG 0x00402930
|
// FUNCTION: CONFIG 0x00402930
|
||||||
// FUNCTION: LEGO1 0x1009d1a0
|
// FUNCTION: LEGO1 0x1009d1a0
|
||||||
|
// FUNCTION: BETA10 0x1011cf54
|
||||||
int MxDeviceEnumerate::SupportsMMX()
|
int MxDeviceEnumerate::SupportsMMX()
|
||||||
{
|
{
|
||||||
if (!SupportsCPUID()) {
|
if (!SupportsCPUID()) {
|
||||||
@ -779,6 +784,7 @@ int MxDeviceEnumerate::SupportsMMX()
|
|||||||
|
|
||||||
// FUNCTION: CONFIG 0x00402970
|
// FUNCTION: CONFIG 0x00402970
|
||||||
// FUNCTION: LEGO1 0x1009d1e0
|
// FUNCTION: LEGO1 0x1009d1e0
|
||||||
|
// FUNCTION: BETA10 0x1011cf97
|
||||||
int MxDeviceEnumerate::SupportsCPUID()
|
int MxDeviceEnumerate::SupportsCPUID()
|
||||||
{
|
{
|
||||||
int has_cpuid;
|
int has_cpuid;
|
||||||
@ -823,44 +829,48 @@ int MxDeviceEnumerate::SupportsCPUID()
|
|||||||
|
|
||||||
// FUNCTION: CONFIG 0x004029a0
|
// FUNCTION: CONFIG 0x004029a0
|
||||||
// FUNCTION: LEGO1 0x1009d210
|
// FUNCTION: LEGO1 0x1009d210
|
||||||
|
// FUNCTION: BETA10 0x1011cfc4
|
||||||
int MxDeviceEnumerate::FUN_1009d210()
|
int MxDeviceEnumerate::FUN_1009d210()
|
||||||
{
|
{
|
||||||
if (!m_initialized) {
|
if (!IsInitialized()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (list<MxDriver>::iterator it = m_list.begin(); it != m_list.end();) {
|
for (list<MxDriver>::iterator it = m_list.begin(); it != m_list.end();) {
|
||||||
|
if (!DriverSupportsRequiredDisplayMode(*it)) {
|
||||||
|
m_list.erase(it++);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
MxDriver& driver = *it;
|
MxDriver& driver = *it;
|
||||||
|
|
||||||
if (!DriverSupportsRequiredDisplayMode(driver)) {
|
for (list<Direct3DDeviceInfo>::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end();) {
|
||||||
|
if (!FUN_1009d3d0(*it2)) {
|
||||||
|
driver.m_devices.erase(it2++);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
it2++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!driver.m_devices.size()) {
|
||||||
m_list.erase(it++);
|
m_list.erase(it++);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (list<Direct3DDeviceInfo>::iterator it2 = driver.m_devices.begin(); it2 != driver.m_devices.end();) {
|
it++;
|
||||||
Direct3DDeviceInfo& device = *it2;
|
|
||||||
|
|
||||||
if (!FUN_1009d3d0(device)) {
|
|
||||||
driver.m_devices.erase(it2++);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it2++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (driver.m_devices.empty()) {
|
|
||||||
m_list.erase(it++);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
it++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_list.empty() ? -1 : 0;
|
if (!m_list.size()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: CONFIG 0x00402b00
|
// FUNCTION: CONFIG 0x00402b00
|
||||||
// FUNCTION: LEGO1 0x1009d370
|
// FUNCTION: LEGO1 0x1009d370
|
||||||
|
// FUNCTION: BETA10 0x1011d176
|
||||||
unsigned char MxDeviceEnumerate::DriverSupportsRequiredDisplayMode(MxDriver& p_driver)
|
unsigned char MxDeviceEnumerate::DriverSupportsRequiredDisplayMode(MxDriver& p_driver)
|
||||||
{
|
{
|
||||||
for (list<MxDisplayMode>::iterator it = p_driver.m_displayModes.begin(); it != p_driver.m_displayModes.end();
|
for (list<MxDisplayMode>::iterator it = p_driver.m_displayModes.begin(); it != p_driver.m_displayModes.end();
|
||||||
@ -877,6 +887,7 @@ unsigned char MxDeviceEnumerate::DriverSupportsRequiredDisplayMode(MxDriver& p_d
|
|||||||
|
|
||||||
// FUNCTION: CONFIG 0x00402b60
|
// FUNCTION: CONFIG 0x00402b60
|
||||||
// FUNCTION: LEGO1 0x1009d3d0
|
// FUNCTION: LEGO1 0x1009d3d0
|
||||||
|
// FUNCTION: BETA10 0x1011d235
|
||||||
unsigned char MxDeviceEnumerate::FUN_1009d3d0(Direct3DDeviceInfo& p_device)
|
unsigned char MxDeviceEnumerate::FUN_1009d3d0(Direct3DDeviceInfo& p_device)
|
||||||
{
|
{
|
||||||
if (m_list.size() <= 0) {
|
if (m_list.size() <= 0) {
|
||||||
@ -884,12 +895,17 @@ unsigned char MxDeviceEnumerate::FUN_1009d3d0(Direct3DDeviceInfo& p_device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (p_device.m_HWDesc.dcmColorModel) {
|
if (p_device.m_HWDesc.dcmColorModel) {
|
||||||
return p_device.m_HWDesc.dwDeviceZBufferBitDepth & DDBD_16 &&
|
if (p_device.m_HWDesc.dwDeviceZBufferBitDepth & DDBD_16 &&
|
||||||
p_device.m_HWDesc.dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE;
|
p_device.m_HWDesc.dpcTriCaps.dwTextureCaps & D3DPTEXTURECAPS_PERSPECTIVE) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (list<Direct3DDeviceInfo>::iterator it = m_list.front().m_devices.begin(); it != m_list.front().m_devices.end();
|
MxDriver& front = m_list.front();
|
||||||
it++) {
|
for (list<Direct3DDeviceInfo>::iterator it = front.m_devices.begin(); it != front.m_devices.end(); it++) {
|
||||||
if ((&*it) == &p_device) {
|
if ((&*it) == &p_device) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@ struct DeviceModesInfo {
|
|||||||
void* m_unk0x178; // 0x178
|
void* m_unk0x178; // 0x178
|
||||||
|
|
||||||
// SYNTHETIC: BETA10 0x1011c650
|
// SYNTHETIC: BETA10 0x1011c650
|
||||||
// MxDirectDraw::DeviceModesInfo::`scalar deleting destructor'
|
// DeviceModesInfo::`scalar deleting destructor'
|
||||||
};
|
};
|
||||||
|
|
||||||
// SIZE 0xe4
|
// SIZE 0xe4
|
||||||
@ -92,18 +92,28 @@ struct Direct3DDeviceInfo {
|
|||||||
|
|
||||||
// SIZE 0x0c
|
// SIZE 0x0c
|
||||||
struct MxDisplayMode {
|
struct MxDisplayMode {
|
||||||
DWORD m_width; // 0x00
|
MxDisplayMode() {}
|
||||||
DWORD m_height; // 0x04
|
// FUNCTION: BETA10 0x1011f920
|
||||||
DWORD m_bitsPerPixel; // 0x08
|
MxDisplayMode(DWORD p_width, DWORD p_height, DWORD p_bitsPerPixel)
|
||||||
|
{
|
||||||
|
m_width = p_width;
|
||||||
|
m_height = p_height;
|
||||||
|
m_bitsPerPixel = p_bitsPerPixel;
|
||||||
|
}
|
||||||
|
|
||||||
int operator==(MxDisplayMode) const { return 0; }
|
int operator==(MxDisplayMode) const { return 0; }
|
||||||
int operator<(MxDisplayMode) const { return 0; }
|
int operator<(MxDisplayMode) const { return 0; }
|
||||||
|
|
||||||
|
DWORD m_width; // 0x00
|
||||||
|
DWORD m_height; // 0x04
|
||||||
|
DWORD m_bitsPerPixel; // 0x08
|
||||||
};
|
};
|
||||||
|
|
||||||
// SIZE 0x190
|
// SIZE 0x190
|
||||||
struct MxDriver {
|
struct MxDriver {
|
||||||
MxDriver() {}
|
MxDriver() {}
|
||||||
~MxDriver();
|
~MxDriver();
|
||||||
|
MxDriver(LPGUID p_guid);
|
||||||
MxDriver(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
|
MxDriver(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
|
||||||
|
|
||||||
void Init(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
|
void Init(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
|
||||||
@ -119,17 +129,15 @@ struct MxDriver {
|
|||||||
int operator<(MxDriver) const { return 0; }
|
int operator<(MxDriver) const { return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
// TEMPLATE: CONFIG 0x401000
|
// TEMPLATE: CONFIG 0x401000
|
||||||
// TEMPLATE: LEGO1 0x1009b900
|
// TEMPLATE: LEGO1 0x1009b900
|
||||||
|
// TEMPLATE: BETA10 0x1011ee40
|
||||||
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::~list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::~list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
// TEMPLATE: CONFIG 0x401070
|
// TEMPLATE: CONFIG 0x401070
|
||||||
// TEMPLATE: LEGO1 0x1009b970
|
// TEMPLATE: LEGO1 0x1009b970
|
||||||
|
// TEMPLATE: BETA10 0x1011f0a0
|
||||||
// list<MxDisplayMode,allocator<MxDisplayMode> >::~list<MxDisplayMode,allocator<MxDisplayMode> >
|
// list<MxDisplayMode,allocator<MxDisplayMode> >::~list<MxDisplayMode,allocator<MxDisplayMode> >
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
// TEMPLATE: CONFIG 0x4010e0
|
// TEMPLATE: CONFIG 0x4010e0
|
||||||
// TEMPLATE: LEGO1 0x1009b9e0
|
// TEMPLATE: LEGO1 0x1009b9e0
|
||||||
@ -141,11 +149,10 @@ struct MxDriver {
|
|||||||
// TEMPLATE: BETA10 0x1011f430
|
// TEMPLATE: BETA10 0x1011f430
|
||||||
// List<MxDisplayMode>::~List<MxDisplayMode>
|
// List<MxDisplayMode>::~List<MxDisplayMode>
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
// TEMPLATE: CONFIG 0x401650
|
// TEMPLATE: CONFIG 0x401650
|
||||||
// TEMPLATE: LEGO1 0x1009bf50
|
// TEMPLATE: LEGO1 0x1009bf50
|
||||||
|
// TEMPLATE: BETA10 0x1011f550
|
||||||
// list<MxDriver,allocator<MxDriver> >::~list<MxDriver,allocator<MxDriver> >
|
// list<MxDriver,allocator<MxDriver> >::~list<MxDriver,allocator<MxDriver> >
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
// TEMPLATE: CONFIG 0x4016c0
|
// TEMPLATE: CONFIG 0x4016c0
|
||||||
// TEMPLATE: LEGO1 0x1009bfc0
|
// TEMPLATE: LEGO1 0x1009bfc0
|
||||||
@ -157,12 +164,14 @@ struct MxDriver {
|
|||||||
// SYNTHETIC: LEGO1 0x1009c290
|
// SYNTHETIC: LEGO1 0x1009c290
|
||||||
// MxDriver::MxDriver
|
// MxDriver::MxDriver
|
||||||
|
|
||||||
// SYNTHETIC: CONFIG 0x401b00
|
// TEMPLATE: CONFIG 0x401b00
|
||||||
// SYNTHETIC: LEGO1 0x1009c400
|
// TEMPLATE: LEGO1 0x1009c400
|
||||||
|
// TEMPLATE: BETA10 0x1011fad0
|
||||||
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::insert
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::insert
|
||||||
|
|
||||||
// SYNTHETIC: CONFIG 0x401b60
|
// TEMPLATE: CONFIG 0x401b60
|
||||||
// SYNTHETIC: LEGO1 0x1009c460
|
// TEMPLATE: LEGO1 0x1009c460
|
||||||
|
// TEMPLATE: BETA10 0x1011f9a0
|
||||||
// list<MxDisplayMode,allocator<MxDisplayMode> >::insert
|
// list<MxDisplayMode,allocator<MxDisplayMode> >::insert
|
||||||
|
|
||||||
// SYNTHETIC: CONFIG 0x402be0
|
// SYNTHETIC: CONFIG 0x402be0
|
||||||
@ -197,10 +206,7 @@ class MxDeviceEnumerate {
|
|||||||
int ParseDeviceName(const char* p_deviceId);
|
int ParseDeviceName(const char* p_deviceId);
|
||||||
int ProcessDeviceBytes(int p_deviceNum, GUID& p_guid);
|
int ProcessDeviceBytes(int p_deviceNum, GUID& p_guid);
|
||||||
int GetDevice(int p_deviceNum, MxDriver*& p_driver, Direct3DDeviceInfo*& p_device);
|
int GetDevice(int p_deviceNum, MxDriver*& p_driver, Direct3DDeviceInfo*& p_device);
|
||||||
|
int FormatDeviceName(char* p_buffer, const MxDriver* p_ddInfo, const Direct3DDeviceInfo* p_d3dInfo) const;
|
||||||
#if defined(MXDIRECTX_FOR_CONFIG) || defined(_DEBUG)
|
|
||||||
int FormatDeviceName(char* p_buffer, const MxDriver* p_driver, const Direct3DDeviceInfo* p_device) const;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int FUN_1009d0d0();
|
int FUN_1009d0d0();
|
||||||
int FUN_1009d210();
|
int FUN_1009d210();
|
||||||
@ -226,6 +232,21 @@ class MxDeviceEnumerate {
|
|||||||
|
|
||||||
const list<MxDriver>& GetDriverList() const { return m_list; }
|
const list<MxDriver>& GetDriverList() const { return m_list; }
|
||||||
|
|
||||||
|
// SIZE 0x10
|
||||||
|
struct GUID4 {
|
||||||
|
int m_data1;
|
||||||
|
int m_data2;
|
||||||
|
int m_data3;
|
||||||
|
int m_data4;
|
||||||
|
|
||||||
|
// FUNCTION: BETA10 0x1011d340
|
||||||
|
static unsigned char Compare(const GUID4& p_a, const GUID4& p_b)
|
||||||
|
{
|
||||||
|
return p_a.m_data1 == p_b.m_data1 && p_a.m_data2 == p_b.m_data2 && p_a.m_data3 == p_b.m_data3 &&
|
||||||
|
p_a.m_data4 == p_b.m_data4;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// FUNCTION: BETA10 0x1011d320
|
// FUNCTION: BETA10 0x1011d320
|
||||||
unsigned char IsInitialized() const { return m_initialized; }
|
unsigned char IsInitialized() const { return m_initialized; }
|
||||||
|
|
||||||
@ -246,4 +267,79 @@ class MxDeviceEnumerate100d9cc8 : public MxDeviceEnumerate {};
|
|||||||
// SYNTHETIC: BETA10 0x100d8da0
|
// SYNTHETIC: BETA10 0x100d8da0
|
||||||
// MxDeviceEnumerate100d9cc8::~MxDeviceEnumerate100d9cc8
|
// MxDeviceEnumerate100d9cc8::~MxDeviceEnumerate100d9cc8
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c1b0
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::iterator::operator*
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c200
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::iterator::operator++
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c290
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::begin
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c300
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::end
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c4d0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::iterator::operator*
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c520
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::iterator::operator++
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c560
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::iterator::operator++
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c590
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::_Acc::_Next
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c5b0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::begin
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c5f0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::iterator::iterator
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c620
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::end
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c690
|
||||||
|
// ??9@YAHABViterator@?$list@UMxDriver@@V?$allocator@UMxDriver@@@@@@0@Z
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011c770
|
||||||
|
// ??9@YAHABViterator@?$list@UDirect3DDeviceInfo@@V?$allocator@UDirect3DDeviceInfo@@@@@@0@Z
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d3a0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::size
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d3c0
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::size
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d3e0
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::erase
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d570
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::erase
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d6a0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::_Freenode
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011d700
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::front
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011f750
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::back
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011f780
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::iterator::operator--
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011f7b0
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::push_back
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011f830
|
||||||
|
// list<MxDriver,allocator<MxDriver> >::insert
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011f960
|
||||||
|
// list<MxDisplayMode,allocator<MxDisplayMode> >::push_back
|
||||||
|
|
||||||
|
// TEMPLATE: BETA10 0x1011fa90
|
||||||
|
// list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::push_back
|
||||||
|
|
||||||
#endif // MXDIRECTXINFO_H
|
#endif // MXDIRECTXINFO_H
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user