//
// Global Config Database
//
//  Contains global config settings found to be useful for all titles.
//  See ID3D8ConfigDatabase.h for format information.
//
//  SceneRenderer               // Scene based renderer (eg: PowerVR, Kyro etc...)
//  NoAlphaTest                 // Disable alpha test (conflicts with other modes)
//  NoTriLinear                 // Do not attempt trilinear filtering
//  NoTripleBuffer              // Do not attempt triple buffering
//  DefaultBltNotFlip           // In full screen mode, use BLT
//  NoFog                       // Do not attempt fog
//  TextureOffset               // Texel offset for fonts is done on x,y's not u,v (eg: Riva128)
//  BrokenAlphaTest             // Cards that cannot do Alpha test without ALPHABLEND being enabled (eg: ATI Rage)
//  RenderEqualZ                // Render bit depth must equal Z bit depth (eg: nVidia cards)
//  NoParallelism               // Lock the back buffer after rendering (eg: Voodoo3 - queueing up too many blits)
//  BadMouse                    // Card can never use GDI mouse (eg: Voodoo)
//  NoMipMap                    // Disable mipmaps
//  Bad4444                     // Disable 4444 textures  (eg: Chromatic Mpact)
//  NoDisablePerspective        // Disable disabling perspective correct texturing (eg: Voodoo cards)
//  LimitTextureSize            // Limit texture size to 256*256 to correct bad caps
//  ForceSquareTextures         // Do not allow non-square textures
//  NoStretchTexture            // Force system memory stretch blit to square up textures
//  SlowDisplayModeChange       // Prevent video drivers that take a while before sending the WM_DISPLAYCHANGE msg from getting stuck in an endless loop of display mode changes (eg: Savage 4)
//  Bad8888                     // Disable 32 bit textures (eg: Voodoo)
//


// BHG ---------------
// THE FOLLOWING PROPERTIES CAN BE CURRENTLY USED TO FLAG SPECIFIC CARDS OR DRIVER VERSIONS:
// drivers=notsupported
// drivers=notrecommended
// videocard=notsupported
// videocard=notrecommended
// 
// for cards that think they support pixel shaders, but just don't do a good job of it
// pixelshaders=notsupported
//
//
// for cards that cant do team color correctly, seem to be hardwired with texture in channel1
// badteamcolor=true
//
// for cards / drivers that dont have hardware cursors, but have problems with color cursors (go b/w, or ignore hardware and go gdi )
// bwcursor=true
// disablehardwarecursor=true
//
// be sure to block out sections with 'break' commands so as not to overflow into a different region
// drivers can be checked as in:
//       if driver < 4.13.1.2183
//        drivers=notsupported
//      endif
//
// much more logic, and property sets and things can be implemented...


Vendor = 0x1142  "3dfx"
Vendor = 0x10d9  "3dfx"
Vendor = 0x121a  "3dfx"
0x0001 = "Voodoo 1"
0x0002 = "Voodoo 2"
0x0003 = "Banshee"
0x0004 = "Banshee"
0x0005 = "Voodoo 3"
0x0007 = "Voodoo 4"
0x643d = "Rush (Alliance)"
0x8626 = "Rush (Macronix)"
	videocard=notsupported
	break
0x0009 = "Voodoo 5"
	bwcursor=true
	disablehardwarecursor=true
	videocard=notrecommended
	break

Vendor = 0x104a  "ST Microelectronics"
0x0010 = "Kyro"
	SceneRenderer
   

Vendor = 0x1002  "ATI"
0x4158 = "Mach 32"
0x4354 = "Mach 64"
0x4358 = "Mach 64"
0x4554 = "Mach 64"
0x4654 = "Mach 64"
0x4742 = "Rage Pro"
0x4744 = "Rage Pro"
0x4747 = "Rage Pro"
0x4749 = "Rage Pro"
0x474c = "Rage XC"
0x474d = "Rage XL"
0x474e = "Rage XC"
0x474f = "Rage XL"
0x4750 = "Rage Pro"
0x4751 = "Rage Pro"
0x4752 = "Rage XL"
0x4753 = "Rage XC"
0x4754 = "Rage II"
0x4755 = "Rage II+"
0x4756 = "Rage IIC"
0x4757 = "Rage IIC"
0x4758 = "Mach 64"
0x4759 = "Rage IIC"
0x475a = "Rage IIC"
0x4c42 = "Rage LT Pro"
0x4c44 = "Rage LT Pro"
0x4c45 = "Rage Mobility"
0x4c46 = "Rage Mobility"
0x4c47 = "Rage LT"
0x4c49 = "Rage LT Pro"
0x4c4d = "Rage Mobility"
0x4c4e = "Rage Mobility"
0x4c50 = "Rage LT Pro"
0x4c51 = "Rage LT Pro"
0x4c52 = "Rage Mobility"
0x4c53 = "Rage Mobility"
0x4c54 = "Rage Mobility"
0x4d46 = "Rage Mobility 128"
0x4d4c = "Rage Mobility 128"
0x5041 = "Rage 128 Pro"
0x5042 = "Rage 128 Pro"
0x5043 = "Rage 128 Pro"
0x5044 = "Rage 128 Pro"
0x5045 = "Rage 128 Pro"
0x5047 = "Rage 128 Pro"
0x5048 = "Rage 128 Pro"
0x5049 = "Rage 128 Pro"
0x504a = "Rage 128 Pro"
0x504b = "Rage 128 Pro"
0x504c = "Rage 128 Pro"
0x504d = "Rage 128 Pro"
0x504e = "Rage 128 Pro"
0x504f = "Rage 128 Pro"
0x5050 = "Rage 128 Pro"
0x5051 = "Rage 128 Pro"
0x5052 = "Rage 128 Pro"
0x5053 = "Rage 128 Pro"
0x5054 = "Rage 128 Pro"
0x5055 = "Rage 128 Pro"
0x5056 = "Rage 128 Pro"
0x5057 = "Rage 128 Pro"
0x5058 = "Rage 128 Pro"
0x5245 = "Rage 128"
0x5246 = "Rage 128"
0x5247 = "Rage 128"
0x524b = "Rage 128"
0x524c = "Rage 128"
0x5345 = "Rage 128"
0x5346 = "Rage 128"
0x5347 = "Rage 128"
0x5348 = "Rage 128"
0x534b = "Rage 128"
0x534c = "Rage 128"
0x534d = "Rage 128"
0x534e = "Rage 128"
0x5354 = "Mach 64"
0x5446 = "Rage 128 Pro"
0x544c = "Rage 128 Pro"
0x5452 = "Rage 128 Pro"
0x5453 = "Rage 128 Pro"
0x5454 = "Rage 128 Pro"
0x5455 = "Rage 128 Pro"
0x5654 = "Mach 64"
0x5655 = "Mach 64"
0x5656 = "Mach 64"
	badteamcolor=true
	bwcursor=true
	break

0x5046 = "Rage Fury"
	badteamcolor=true
	bwcursor=true
	break

// radeon 8500 gets special driver check, but needs below check also
0x514c = "Radeon 8500"
0x514e = "Radeon 8500"
0x514f = "Radeon 8500"
0x4242 = "Radeon 8500"
0x4242 = "Radeon 8500"
  pixelshaders=notsupported
// 6.13.3286 playable but has corruptions, 3276 and less are bad
  if os > win2k
	if driver <= 6.13.3286.0
      if driver <= 6.13.3276.0
	    drivers=notsupported
	  endif
	  drivers=notrecommended
    endif
  endif
  if os == winme 
    if driver <= 4.13.1.7202
	  drivers=notrecommended
	endif
  endif
  if os < winme
    if driver <= 4.13.1.3131
	  drivers=notrecommended
	endif
  endif
  break

0x5144 = "Radeon"
0x5145 = "Radeon"
0x5146 = "Radeon"
0x5147 = "Radeon"
0x5159 = "Radeon VE"
0x515a = "Radeon VE"
0x516c = "Radeon"
0x5148 = "Radeon FireGL"
0x5157 = "Radeon 7500"
0x4966 = "Radeon 9000"
// ATI bad drivers -- reported for Radeon VE, tested on Radeon, assuming for all...
  pixelshaders=notsupported
  if os <= winme
    if driver <= 4.13.1.3109
	  drivers=notsupported
	endif
  endif 
  if os >= win2k
    if driver < 5.14.1.6037
      drivers=notsupported
    endif
  endif    
  break

0x4e44 = "Radeon 9700"
  if os <= winme
    if driver <= 4.13.1.3109
	  drivers=notsupported
	endif
  endif 
  if os >= win2k
    if driver < 5.14.1.6037
      drivers=notsupported
    endif
  endif    
  break

0x4c57 = "Radeon Mobility 7500"
0x4c66 = "Radeon Mobility 9000"
0x4c58 = "Radeon Mobility"
0x4c59 = "Radeon Mobility VE"
0x4c5a = "Radeon Mobility VE"

// mobility line also has problems with pixel shaders
	pixelshaders=notsupported

// ATI bad drivers -- reported for Radeon VE, tested on Radeon, assuming for all...
//  if os < winme
//    if driver < 4.14.1.9016
//      drivers=notsupported
//    endif
//  endif
  if os <= winme
    if driver <= 4.13.1.3109
	  drivers=notsupported
	endif
  endif 
  if os >= win2k
    if driver < 5.14.1.6037
      drivers=notsupported
    endif
  endif
    
  break



Vendor = 0x104c  "3D Labs"
Vendor = 0x10ba  "3D Labs"
Vendor = 0x3d3d  "3D Labs"
Vendor = 0x1048  "3D Labs"
0x0001 = "GLiNT 300SX"
0x0002 = "GLiNT 500TX"
0x0003 = "GLiNT"
0x0004 = "Permedia"
0x0005 = "Permedia"
0x0006 = "GLiNT MX"
0x0007 = "Permedia 2"
0x0008 = "GLiNT G1"
0x0009 = "Permedia 2"
0x000b = "Oxygen Series R3"
0x000c = "Permedia 4"
0x000d = "Oxygen Series R4"
0x000e = "Oxygen Series Gamma2"
    break
0x0100 = "Permedia 2"
	DefaultBltNotFlip
	NoMipMap
0x0301 = "Permedia 2"
	TextureOffset
	break
0x1004 = "Permedia"
    break
0x3d04 = "Permedia 1"
0x3d07 = "Permedia 2"
	TextureOffset
	DefaultBltNotFlip
	NoMipMap
	break
0x8901 = "GLiNT"
  break
0x000a = "Permedia 3"
  videocard=notrecommended
  break

Vendor = 0x1039  "SiS"
0x0204 = "6215"
0x0205 = "6205"
0x0305 = "305"
0x0315 = "315"
	if os >= win2k
		if driver <= 6.13.10.3070
			badteamcolor=true
		endif
	endif
	if os < win2k
		if driver <= 4.13.1.3070
			badteamcolor=true
		endif
	endif
    break
0x6306 = "530"
	TextureOffset
	break
0x6326 = "6326"


Vendor = 0x5333  "S3"
0x5631 = "Virge"
0x8811 = "Trio 64"
0x8812 = "Trio 64"
0x8814 = "Trio 64 Plus"
0x8815 = "Aurora 128"
0x883d = "Virge"
0x8880 = "Virge"
0x88c0 = "Virge"
0x88c1 = "Virge"
0x88d0 = "Virge"
0x88d1 = "Virge"
0x88f0 = "Virge"
0x8901 = "Trio 64 DX"
0x8904 = "Trio 3D"
0x8a01 = "Virge DXGX"
0x8a10 = "Virge GX2"
0x8a13 = "Trio3D"
0x8a20 = "Savage 3D"
0x8a21 = "Savage 3D S3"
0x8a22 = "Savage 3D S4"
0x8a23 = "Savage 3D S4"
0x8a25 = "Savage4 ProSavage"
0x8a26 = "ProSavage"
0x8c00 = "Virge MX"
0x8c01 = "Virge MX"
0x8c02 = "Virge MXC"
0x8c03 = "Virge MX"
0x8d04 = "ProSavage"
0x9102 = "Savage 2000"
  videocard=notsupported
  break
0x8c10 = "Savage MX"
0x8c12 = "Savage IX"
0x8c22 = "SuperSavage 128 MX"
0x8c2a = "SuperSavage 128 IX"
0x8c2b = "SuperSavage 128 IX DDR"
0x8c2c = "SuperSavage IX"
0x8c2d = "SuperSavage IX DDR"
0x8c2e = "SuperSavage IXC SDR"
0x8c2f = "SuperSavage IXC DDR"
0x8d02 = "Twister"
// blf -- still making these for laptops, let em through
  bwcursor=true
  break


Vendor = 0x102b  "Matrox"
0x0518 = "Millennium"
0x0519 = "Millennium"
0x051a = "Mystique"
0x051b = "Millennium II"
0x051f = "Millennium II"
0x0520 = "G200 PCI"
0x0521 = "G200 AGP"
    break
0x0525 = "Matrox Millennium G450 Dual Head"
// find g400 id code
// win98 not working so well with G400... 4.12.01.2120 found to be the sweet spot.  later beta crashes hard, earlier has major probs
// G400 has same device id listed here for 450, so this will have to apply to 450 as well
	if os < win2k
		if driver < 4.12.01.2120
			drivers=notsupported
		endif
		if driver > 4.12.01.2120
			drivers=notsupported
		endif
	endif
	break
0x0d10 = "Mystique"
0x1000 = "G100 PCI"
0x1001 = "G100 AGP"
0x1525 = "Fusion G450"
0x1527 = "Fusion G800"
0x2007 = "Mistral"
  break
0x2527 = "G550"
  badteamcolor=true
  if os < Win2k
    if driver < 4.13.1.1320
	  drivers=notsupported
	endif
  endif
  break


Vendor = 0x14Af  "Guillemot"
0x5810 = "TNT2"
0x5820 = "TNT2 Ultra"
0x5620 = "TNT2 M64"
0x4D20 = "TNT2 M64"
	break
0x5008 = "TNT Vanta"
	if os < win2k
		if driver <= 4.12.1.631
			drivers=notsupported
		endif
	endif
	break
0x5020 = "GeForce 256"
	//bwcursor=true
	disablehardwarecursor=true
	if os >= Win2k
		if driver < 6.13.10.3082
			drivers=notrecommended
		endif
	endif
	if os < Win2k
		if driver < 4.13.1.3082
			drivers=notrecommended
		endif
	endif	
	break


Vendor = 0x10b4  "nVidia"
Vendor = 0x12d2  "nVidia"
Vendor = 0x10de  "nVidia"
0x1b1d = "Riva 128"
0x0008 = "NV 1"
0x0009 = "NV 1"
0x0010 = "NV 2"
	RenderEqualZ
	break
0x0018 = "Riva 128"
0x0019 = "Riva 128 ZX"
	RenderEqualZ
	NoStretchTexture
	LimitTextureSize
	TextureOffset
	NoTriLinear
	RenderEqualZ
	break
0x0020 = "TNT"
0x0028 = "TNT2"
0x0029 = "TNT2 Ultra"
0x002a = "TNT2"
0x002b = "TNT2"
	RenderEqualZ
	break
0x002c = "TNT Vanta"
0x002e = "TNT Vanta"
0x002f = "TNT Vanta"
	if os < win2k
		if driver <= 4.12.1.631
			drivers=notsupported
		endif
	endif
	break

0x002d = "TNT2 M64"
0x00a0 = "TNT2 Aladdin"
	break
0x0110 = "GeForce2 MX"
0x0111 = "GeForce2 MX DDR"
0x0112 = "GeForce2 Go"
0x0113 = "GeForce2 Quadro"
0x0150 = "GeForce2"
0x0151 = "GeForce2 Ti"
0x0152 = "GeForce2 Ultra"
0x0153 = "GeForce2 Quadro"
	RenderEqualZ
	if os >= Win2k
		if driver <= 5.7.0.290
			drivers=notsupported
		endif
	endif
	break
0x0170 = "GeForce4 MX 460"
0x0171 = "GeForce4 MX 440"
0x0172 = "GeForce4 MX 420"
0x0173 = "GeForce4 MX"
	if os >= Win2k
		if driver < 6.13.10.3082
			drivers=notrecommended
		endif
	endif
	if os < Win2k
		if driver < 4.13.1.3082
			drivers=notrecommended
		endif
	endif	
	break

0x0174 = "GeForce4 Go 440"
0x0175 = "GeForce4 Go 420"
0x0176 = "GeForce4 Go 420"
0x0178 = "GeForce4 Quadro4"
0x0179 = "GeForce4 Go 440"
	pixelshaders=notsupported
// Go can't seem to break 2835 yet
	if os >= Win2k
		if driver < 6.13.10.2835
			drivers=notrecommended
		endif
	endif
	if os < Win2k
		if driver < 4.13.1.2835
			drivers=notrecommended
		endif
	endif	
	break

0x017a = "GeForce4 Quadro"
0x017b = "GeForce4 Quadro"
0x017b = "GeForce4 Quadro"
0x01a0 = "GeForce2 Crush11"
0x0200 = "GeForce3"
0x0201 = "GeForce3 Ti200"
0x0202 = "GeForce3 Ti500"
0x0203 = "GeForce3 Quadro"
0x0250 = "GeForce4 Ti4600"
0x0251 = "GeForce4 Ti4400"
0x0253 = "GeForce4 Ti4200"
0x0258 = "GeForce4 Quadro"
0x0259 = "GeForce4 Quadro"
0x025b = "GeForce4 Quadro"
0x0281 = "GeForce4 Ti 4200 with AGP8X"
0x02a0 = "GeForce3 XBOX"
	if os >= Win2k
		if driver < 6.13.10.3082
			drivers=notrecommended
		endif
// blf - pixelshaders off for less than 4109, but not 3082
		if driver <= 6.13.10.4109
		  if driver != 6.13.10.3082
		    pixelshaders=notsupported
		  endif
		endif
	endif
	if os < Win2k
		if driver < 4.13.1.3082
			drivers=notrecommended
		endif
// blf - pixelshaders off for less than 4109, but not 3082
		if driver <= 4.13.1.4109
		  if driver != 4.13.1.3082
		    pixelshaders=notsupported
		  endif
		endif
	endif	
	break
0x0100 = "GeForce 256"
0x0101 = "GeForce 256 DDR"
0x0102 = "GeForce 256 Ultra"
0x0103 = "GeForce 256 Quadro"
	//bwcursor=true
	disablehardwarecursor=true
	if os >= Win2k
		if driver < 6.13.10.3082
			drivers=notrecommended
		endif
	endif
	if os < Win2k
		if driver < 4.13.1.3082
			drivers=notrecommended
		endif
	endif	
	break


Vendor = 0x8086  "Intel"
0x1132 = "815"
0x1240 = "752"
	Bad8888
	NoMipMap
	ForceSquareTextures
	LimitTextureSize
0x3577 = "830"
    break
0x7121 = "810"
0x7123 = "810"
0x7125 = "810e"
0x7127 = "810"
	Bad8888
	NoMipMap
	ForceSquareTextures
	LimitTextureSize
	break
0x7800 = "740"
	Bad8888
	NoMipMap
	ForceSquareTextures
	LimitTextureSize
	break
0x2562 = "i845"
	if os >= Win2k
		if driver < 6.13.01.3460
			drivers=notsupported
		endif
	endif
	if os < Win2k
		if driver < 4.13.01.3460
			drivers=notrecommended
		endif
	endif
	break

Vendor = 0x1033  "VideoLogic"
    SceneRenderer
0x0046 = "PowerVR"
0x0067 = "PowerVR2"



Vendor = 0x1023  "Trident"
0x8420 = "CyberBlade i7"
0x9320 = "Cyber9320"
0x9388 = "Cyber9388"
0x9397 = "Cyber9397"
0x939A = "Cyber9397 DVD"
0x9440 = "Cyber"
0x9520 = "Cyber9520"
0x9525 = "Cyber9520 DVD"
0x9540 = "CyberBlade E4"
0x9660 = "Cyber9385"
0x9750 = "975"
0x9754 = "9753"
0x9850 = "3D Image"
0x9880 = "Blade 3D"
  break
0x9910 = "CyberBlade XP"
0x9930 = "CyberBlade XPm"
// blf -- above are S3 cards still in production


Vendor = 0x105d  "Number Nine"
0x493d = "Revolution 3D"
0x5348 = "Revolution IV"




Vendor = 0x126f  "Silicon Motion"
0x720  = "Lynx 3DM"
0x820  = "Lynx 3D"



Vendor = 0x1013  "Cirrus"
0x0038 = "GD7548"
0x00a0 = "GD5430"
0x00a8 = "GD5434"
0x00ac = "GD5436"
0x00b8 = "GD5446"
0x00bc = "GD5480"
0x00d0 = "CL5462"
0x00d4 = "GD5464"
0x00d6 = "GD5465"
0x0301 = "GD5446"
0x1100 = "CL6729"
0x1202 = "GD7543"
0x6001 = "CL4610"
0x6003 = "CL4614"



Vendor = 0x1163  "Rendition"
0x0001 = "Verite 1000"
0x2000 = "Verite 2100"
    PropertySet = "Safe Mode"


Vendor = 0x110b  "Chromatic"
0x0004 = "MPact"
	Bad4444



Vendor = 0x100e  "Weitek"
0x9001 = "P9000"
0x9100 = "P9100"



Vendor = 0x0e11  "Compaq"
0x3032 = "QVision"



Vendor = 0x1011  "Digital"
0x0004 = "TGA"
0x000d = "TGA2"



Vendor = 0x10c8  "NeoMagic"
0x0001 = "128"
0x0002 = "128"
0x0003 = "128ZV"
0x0004 = "128XD"
0x0005 = "256AV"
0x0006 = "256ZX"
0x0016 = "256XL"
	NoMipMap
	ForceSquareTextures
	LimitTextureSize
	break
0x0025 = "256AV"
0x0083 = "128ZV"



Vendor = 0x100c  "Tseng Labs"
0x3202 = "ET4000"
0x3205 = "ET4000"
0x3206 = "ET4000"
0x3207 = "ET4000"
0x3208 = "ET6000"
0x4702 = "ET6300"
