Advertisement
Brick

mmGraphicsConfig

Sep 25th, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. struct mmGraphicsConfig
  2. {
  3.     unsigned int Signature;         // == '5XFG'; // GFX5
  4.     unsigned int InterfaceChoice;
  5.     unsigned int InterfaceCount;    // Max of 8 mmGraphicsInterfaces
  6.  
  7.     // 0x683130    = mmGraphicsInterface gfxInterfaces [8]
  8.     // gfxconf.dat = mmGraphicsInterface gfxInterfaces [InterfaceCount]
  9.     struct mmGraphicsInterface
  10.     {
  11.         GUID GUID;
  12.         char Name[64];
  13.  
  14.         unsigned int DeviceCaps;
  15.  
  16.         enum mmRenderer : unsigned int
  17.         {
  18.             Software        = 0,    // Software (No 3D Video Card)
  19.             Hardware        = 1,    // Hardware (3D Video Card)
  20.             HardwareWithTnL = 2     // Hardware (3D Video Card With T&L)
  21.         };
  22.  
  23.         mmRenderer Renderer;
  24.  
  25.         unsigned int ResolutionCount;   // Max of 64 mmResolutions
  26.         unsigned int ResolutionChoice;
  27.  
  28.         enum mmColorDepthFlag: unsigned int
  29.         {
  30.             Depth16 = 0x400,
  31.             Depth24 = 0x200,
  32.             Depth32 = 0x100
  33.         };
  34.  
  35.         mmColorDepthFlag AcceptableDepths;  // Used to check if mmResolution::Depth is allowed
  36.  
  37.         unsigned int AvailableMemory;
  38.         unsigned int VendorID;
  39.         unsigned int DeviceID;
  40.  
  41.         struct mmResolution
  42.         {
  43.             unsigned short ScreenWidth;
  44.             unsigned short ScreenHeight;
  45.             unsigned short ColorDepth;      // Always 16
  46.             unsigned short Is16BitColor;    // = (ColorDepth == 16) + 6 // Always 7
  47.         };
  48.  
  49.         mmResolution Resolutions[64];
  50.     };
  51. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement