101 unsigned int m_flags;
233 MxDriver(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
241 void Init(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName);
[AI] Holds assignment and description details for a Direct3D rendering device in use.
@ c_primaryDevice
[AI] Flags the device as the system's primary device.
@ c_hardwareMode
[AI] Indicates that the device is a hardware rendering device.
BOOL GetHardwareMode()
[AI] Checks if the device is operating in hardware mode.
MxAssignedDevice()
[AI] Initializes an empty MxAssignedDevice structure.
D3DDEVICEDESC & GetDesc()
[AI] Accessor for device's current description.
unsigned int GetFlags()
[AI] Returns all flags describing hardware mode/primary device status.
~MxAssignedDevice()
[AI] Destructor; deletes associated DeviceModesInfo.
[AI] Enumerates DirectDraw/Direct3D drivers, devices, and display modes on the system.
unsigned char IsInitialized() const
[AI] Checks if the enumeration has already been performed.
HRESULT EnumDisplayModesCallback(LPDDSURFACEDESC p_ddsd)
[AI] Callback for each display mode in a driver.
~MxDeviceEnumerate()
[AI] Destructor.
BOOL EnumDirectDrawCallback(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName)
[AI] Callback for enumerating a single DirectDraw driver.
unsigned char m_initialized
[AI] Set TRUE after successful enumeration to prevent redundant operations.
static HRESULT CALLBACK DevicesEnumerateCallback(LPGUID p_guid, LPSTR p_deviceDesc, LPSTR p_deviceName, LPD3DDEVICEDESC p_HWDesc, LPD3DDEVICEDESC p_HELDesc, LPVOID p_context)
[AI] Static thunk callback for enumerating 3D devices within a driver.
MxDeviceEnumerate()
[AI] Constructs an MxDeviceEnumerate object, sets initialized flag to FALSE.
virtual int DoEnumerate()
[AI] Begins enumeration of DirectDraw drivers, their devices, and available display modes.
list< MxDriver > m_list
[AI] List of all discovered DirectDraw drivers and their device/mode info.
const list< MxDriver > & GetDriverList() const
[AI] Returns a const reference to the list of enumerated drivers/devices/modes.
const char * EnumerateErrorToString(HRESULT p_error)
[AI] Converts a DirectDraw/Direct3D HRESULT enumeration error to a human-readable string.
static BOOL CALLBACK DirectDrawEnumerateCallback(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName, LPVOID p_context)
[AI] Static thunk callback suitable for passing to DirectDrawEnumerate.
static HRESULT CALLBACK DisplayModesEnumerateCallback(LPDDSURFACEDESC p_ddsd, LPVOID p_context)
[AI] Static thunk callback for enumerating display modes during driver enumeration.
HRESULT EnumDevicesCallback(LPGUID p_guid, LPSTR p_deviceDesc, LPSTR p_deviceName, LPD3DDEVICEDESC p_HWDesc, LPD3DDEVICEDESC p_HELDesc)
[AI] Callback for enumerating 3D devices on a driver.
static void BuildErrorString(const char *,...)
[AI] Utility for formatting and outputting error/debug strings.
[AI] MxDirect3D provides Direct3D (D3D) rendering capabilities layered on top of MxDirectDraw,...
struct _DDSURFACEDESC FAR * LPDDSURFACEDESC
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
[AI] STL compatibility layer header to provide consistent STL (Standard Template Library) types and a...
[AI] Represents a specific display mode supported by the device (width, height, bits per pixel).
int operator==(const Mode &p_mode) const
[AI] Compares two display modes for equality by width, height, and bits per pixel.
int bitsPerPixel
[AI] Color depth (bits per pixel)
int width
[AI] Horizontal resolution in pixels
int height
[AI] Vertical resolution in pixels
[AI] Contains detailed information about a Direct3D device's supported display modes and capabilities...
DeviceModesInfo()
[AI] Constructs an empty DeviceModesInfo with zeroed members.
DDCAPS m_ddcaps
[AI] Capabilities of the DirectDraw device as filled by GetCaps.
Mode * m_modeArray
[AI] Array of supported display modes; dynamically allocated and owned.
void * m_unk0x178
[AI] Unknown purpose, possibly additional device state or context. [AI_SUGGESTED_NAME: extraState]
~DeviceModesInfo()
[AI] Destructor.
int m_count
[AI] Number of display modes in m_modeArray.
GUID * m_guid
[AI] GUID of the video device (heap-allocated and owned by this struct).
[AI] Encapsulates Direct3D device enumeration information and capability structures.
~Direct3DDeviceInfo()
[AI] Destructor; frees owned resources such as GUID and strings.
D3DDEVICEDESC m_HWDesc
[AI] Hardware Direct3D device capability description.
Direct3DDeviceInfo()
[AI] Constructs a zero-initialized Direct3DDeviceInfo instance.
int operator==(Direct3DDeviceInfo) const
[AI] Comparison operator placeholder: returns 0, not implemented.
void Initialize(LPGUID p_guid, LPSTR p_deviceDesc, LPSTR p_deviceName, LPD3DDEVICEDESC p_HWDesc, LPD3DDEVICEDESC p_HELDesc)
[AI] Initializes instance with device GUID, description strings, and capability structures.
int operator<(Direct3DDeviceInfo) const
[AI] Comparison operator placeholder: returns 0, not implemented.
D3DDEVICEDESC m_HELDesc
[AI] Software (HEL) emulation device capability description.
char * m_deviceDesc
[AI] API-provided textual description of device (owned string).
char * m_deviceName
[AI] Unlocalized device name/identifier (owned string).
LPGUID m_guid
[AI] GUID uniquely identifying this 3D device. [AI]
[AI] Utility structure for GUID comparison.
static unsigned char Compare(const GUID4 &p_a, const GUID4 &p_b)
[AI] Compares two GUID4s for complete equality.
[AI] Represents a display mode with specific resolution and color depth.
int operator==(MxDisplayMode) const
[AI] Comparison operator placeholder: returns 0, not implemented.
MxDisplayMode()
[AI] Default constructor.
int operator<(MxDisplayMode) const
[AI] Comparison operator placeholder: returns 0, not implemented.
DWORD m_bitsPerPixel
[AI] Color depth (bits per pixel)
DWORD m_height
[AI] Height in pixels
MxDisplayMode(DWORD p_width, DWORD p_height, DWORD p_bitsPerPixel)
[AI] Initialize the display mode with width, height, and color depth.
DWORD m_width
[AI] Width in pixels
[AI] Holds data about a DirectDraw driver including devices and supported display modes.
void Init(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName)
[AI] Initializes or resets the driver's GUID and strings.
int operator<(MxDriver) const
[AI] Comparison operator placeholder: returns 0, not implemented.
MxDriver()
[AI] Constructs an empty MxDriver structure.
LPGUID m_guid
[AI] GUID for this DirectDraw driver (heap-allocated and owned).
list< MxDisplayMode > m_displayModes
[AI] List of all display modes reported by the driver.
char * m_driverName
[AI] Driver name/identifier string (owned).
DDCAPS m_ddCaps
[AI] Capabilities structure as reported by the driver.
list< Direct3DDeviceInfo > m_devices
[AI] List of all Direct3D devices provided by this driver.
int operator==(MxDriver) const
[AI] Comparison operator placeholder: returns 0, not implemented.
~MxDriver()
[AI] Destructor; frees GUID and owned strings.
char * m_driverDesc
[AI] Driver description string (owned).