// // 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"