version 37
// The version number above should be implemented IF AND ONLY IF some
// change has been made that is sufficiently important to justify
// resetting the graphics preferences of all users to the recommended
// defaults.  This should be as rare an event as we can manage.

// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
// Should be combined into one table

//
// Generates lists of feature mask that can be applied on top of each other.
//
//		//		Begin comments
//		list <name>
//		Starts a feature list named <name>
//		<name> <available> <recommended>
//		<name> is the name of a feature
//		<available> is 0 or 1, whether the feature is available
//		<recommended> is an F32 which is the recommended value
//
// For now, the first list read sets up all of the default values
//


//
// All contains everything at their default settings for high end machines
// NOTE: All settings are set to the MIN of applied values, including 'all'!
//
list all
RenderAnisotropic				1	0
RenderAvatarCloth				1	1
RenderAvatarLODFactor			1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarMaxVisible          1   12
RenderAvatarVP					1	1
RenderCubeMap					1	1
RenderDelayVBUpdate				1	0
RenderFarClip					1	256
RenderFlexTimeFactor			1	1.0
RenderFogRatio					1	4.0
RenderGamma						1	0
RenderGlowResolutionPow			1	9
RenderGround					1	1
RenderLocalLights				1	1
RenderMaxPartCount				1	8192
RenderObjectBump				1	1
RenderReflectionDetail			1	4
RenderTerrainDetail				1	1
RenderTerrainLODFactor			1	2.0
RenderTransparentWater			1	1
RenderTreeLODFactor				1	1.0
RenderUseImpostors				1	1
RenderVBOEnable					1	1
RenderVBOMappingDisable			1	1
RenderVolumeLODFactor			1	2.0
UseStartScreen					1	1
UseOcclusion					1	1
VertexShaderEnable				1	1
WindLightUseAtmosShaders		1	1
WLSkyDetail						1	128
Disregard128DefaultDrawDistance	1	1
Disregard96DefaultDrawDistance	1	1
RenderTextureMemoryMultiple		1	1
RenderCompressTextures			1	1
RenderShaderLightingMaxLevel	1	3
RenderDeferred				1	1
RenderDeferredSSAO			1	1
RenderShadowDetail			1	2
WatchdogDisabled				1	1
RenderUseStreamVBO			1	1
RenderFSAASamples			1	16
RenderMaxTextureIndex		1	16

//
// Low Graphics Settings (fixed function)
//
list LowFixedFunction
RenderAnisotropic			1	0
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	0
RenderAvatarPhysicsLODFactor 1	0
RenderAvatarMaxVisible      1   3
RenderAvatarVP				1	0
RenderFarClip				1	64
RenderFlexTimeFactor		1	0
RenderGlowResolutionPow		1	8
RenderLocalLights			1	0
RenderMaxPartCount			1	0
RenderObjectBump			1	0
RenderReflectionDetail		1	0
RenderTerrainDetail			1	0
RenderTerrainLODFactor		1	1
RenderTransparentWater		1	0
RenderTreeLODFactor			1	0
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	0.5
VertexShaderEnable			1	0
WindLightUseAtmosShaders	1	0
RenderDeferred				1	0
RenderDeferredSSAO			1	0
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	0

//
// Low Graphics Settings
//
list Low
RenderAnisotropic			1	0
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	0
RenderAvatarPhysicsLODFactor 1	0
RenderAvatarMaxVisible      1   3
RenderAvatarVP				1	0
RenderFarClip				1	64
RenderFlexTimeFactor		1	0
RenderGlowResolutionPow		1	8
RenderLocalLights			1	0
RenderMaxPartCount			1	0
RenderObjectBump			1	0
RenderReflectionDetail		1	0
RenderTerrainDetail			1	0
RenderTerrainLODFactor		1	1
RenderTransparentWater		1	0
RenderTreeLODFactor			1	0
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	0.5
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	0
RenderDeferred				1	0
RenderDeferredSSAO			1	0
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	0

//
// Medium Low Graphics Settings
//
list LowMid
RenderAnisotropic			1	0
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	0.5
RenderAvatarPhysicsLODFactor 1	0.75
RenderAvatarVP				1	1
RenderFarClip				1	96
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	8
RenderMaxPartCount			1	2048
RenderObjectBump			1	1
RenderLocalLights			1	1
RenderReflectionDetail		1	0
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	1.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	0.5
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	1.125
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	0
RenderDeferred				1	0
RenderDeferredSSAO			1	0
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	0

//
// Medium Graphics Settings (standard)
//
list Mid
RenderAnisotropic			1	1
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarVP				1	1
RenderFarClip				1	128
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	9
RenderMaxPartCount			1	4096
RenderObjectBump			1	1
RenderLocalLights			1	1
RenderReflectionDetail		1	0
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	2.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	0.5
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	1.125
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	1
RenderDeferred				1	0
RenderDeferredSSAO			1	0
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	2

//
// Medium High Graphics Settings (deferred enabled)
//
list MidHigh
RenderAnisotropic			1	1
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarVP				1	1
RenderFarClip				1	128
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	9
RenderMaxPartCount			1	4096
RenderObjectBump			1	1
RenderLocalLights			1	1
RenderReflectionDetail		1	0
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	2.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	0.5
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	1.125
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	1
RenderDeferred				1	1
RenderDeferredSSAO			1	0
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	2

//
// High Graphics Settings (deferred + SSAO)
//
list High
RenderAnisotropic			1	1
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarVP				1	1
RenderFarClip				1	128
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	9
RenderMaxPartCount			1	4096
RenderObjectBump			1	1
RenderLocalLights			1	1
RenderReflectionDetail		1	0
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	2.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	0.5
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	1.125
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	1
RenderDeferred				1	1
RenderDeferredSSAO			1	1
RenderShadowDetail			1	0
WLSkyDetail					1	48
RenderFSAASamples			1	2

//
// High Ultra Graphics Settings (deferred + SSAO + shadows)
//
list HighUltra
RenderAnisotropic			1	1
RenderAvatarCloth			1	0
RenderAvatarLODFactor		1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarVP				1	1
RenderFarClip				1	128
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	9
RenderMaxPartCount			1	4096
RenderObjectBump			1	1
RenderLocalLights			1	1
RenderReflectionDetail		1	0
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	2.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	0.5
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	1.125
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	1
RenderDeferred				1	1
RenderDeferredSSAO			1	1
RenderShadowDetail			1	2
WLSkyDetail					1	48
RenderFSAASamples			1	2


//
// Ultra graphics (REALLY PURTY!)
//
list Ultra
RenderAnisotropic			1	1
RenderAvatarCloth			1	1
RenderAvatarLODFactor		1	1.0
RenderAvatarPhysicsLODFactor 1	1.0
RenderAvatarVP				1	1
RenderFarClip				1	256
RenderFlexTimeFactor		1	1.0
RenderGlowResolutionPow		1	9
RenderLocalLights			1	1
RenderMaxPartCount			1	8192
RenderObjectBump			1	1
RenderReflectionDetail		1	4
RenderTerrainDetail			1	1
RenderTerrainLODFactor		1	2.0
RenderTransparentWater		1	1
RenderTreeLODFactor			1	1.0
RenderUseImpostors			1	1
RenderVolumeLODFactor		1	2.0
VertexShaderEnable			1	1
WindLightUseAtmosShaders	1	1
WLSkyDetail					1	128
RenderDeferred				1	1
RenderDeferredSSAO			1	1
RenderShadowDetail			1	2
RenderFSAASamples			1	2

//
// Class Unknown Hardware (unknown)
//
list Unknown
RenderVBOEnable				1	0

//
// Class 0 Hardware (just old)
//
list Class0
RenderVBOEnable				1	1

//
// Class 1 Hardware
//
list Class1
RenderVBOEnable				1	1

//
// Class 2 Hardware
//
list Class2
RenderVBOEnable				1	1

//
// Class 3 Hardware
//
list Class3
RenderVBOEnable				1	1
//
// Class 4 Hardware
//
list Class4
RenderVBOEnable				1	1

//
// Class 5 Hardware
//
list Class5
RenderVBOEnable				1	1

//
// No Pixel Shaders available
//
list NoPixelShaders
RenderAvatarVP				0	0
RenderAvatarCloth			0	0
RenderReflectionDetail		0	0
VertexShaderEnable			0	0
WindLightUseAtmosShaders	0	0
RenderDeferred				0	0
RenderDeferredSSAO			0	0
RenderShadowDetail			0	0

//
// No Vertex Shaders available
//
list NoVertexShaders
RenderAvatarVP				0	0
RenderAvatarCloth			0	0
RenderReflectionDetail		0	0
VertexShaderEnable			0	0
WindLightUseAtmosShaders	0	0
RenderDeferred				0	0
RenderDeferredSSAO			0	0
RenderShadowDetail			0	0

//
// VRAM > 512MB
//
list VRAMGT512
RenderCompressTextures		1	0

//
// "Default" setups for safe, low, medium, high
//
list safe
RenderAnisotropic			1	0
RenderAvatarCloth			0	0
RenderAvatarVP				0	0
RenderLocalLights			1	0
RenderObjectBump			0	0
RenderMaxPartCount			1	1024
RenderTerrainDetail 		1	0
RenderUseImpostors			0	0
RenderVBOEnable				1	0
RenderReflectionDetail		0	0
WindLightUseAtmosShaders	0	0
RenderDeferred				0	0
RenderDeferredSSAO			0	0
RenderShadowDetail			0	0

//
// CPU based feature masks
//

// 1Ghz or less (equiv)
list CPUSlow
RenderMaxPartCount			1	1024

//
// RAM based feature masks
//
list RAM256MB
RenderObjectBump			0	0

//
// Graphics card based feature masks
//
list OpenGLPre15
RenderVBOEnable				1	0


list TexUnit8orLess
RenderDeferredSSAO			0	0

list ATI
RenderDeferredSSAO			1	0

list Intel
RenderAnisotropic			1	0
RenderLocalLights			1	0
RenderFSAASamples			1	0

list GeForce2
RenderAnisotropic			1	0
RenderLocalLights			1	0
RenderMaxPartCount			1	2048
RenderTerrainDetail			1	0
RenderVBOEnable				1	1

list Intel_830M
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_845G					
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_855GM				
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_865G			
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_900		
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_915GM	
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_915G					
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_945GM			
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_945G
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_950
RenderTerrainDetail			1	0
RenderVBOEnable				1	0
RenderGround				1	0

list Intel_965
RenderTerrainDetail			1	0
RenderVBOEnable				1	0
UseOcclusion				0	0

list Intel_G33
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_Bear_Lake	
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_Broadwater 
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_Brookdale	
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_X3100
WindLightUseAtmosShaders	0	0

list Intel_Montara
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list Intel_Springdale
RenderTerrainDetail			1	0
RenderVBOEnable				1	0

list ATI_Mobility_Radeon_9600
Disregard96DefaultDrawDistance	1	0

list NVIDIA_GeForce_8600
RenderTextureMemoryMultiple			1	1	
RenderUseImpostors				0	0
UseOcclusion				0	0

/// tweaked ATI to 96 Draw distance

list ATI_Radeon_9000
Disregard96DefaultDrawDistance	1	0
list ATI_Radeon_9200
Disregard96DefaultDrawDistance	1	0
list ATI_Radeon_9500
Disregard96DefaultDrawDistance	1	0
list ATI_Radeon_9600
Disregard96DefaultDrawDistance	1	0

/// tweaked ATI to 128 draw distance

list ATI_Radeon_X300 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X400 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X500 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X600 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X700 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X1300 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X1400 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X1500 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X1600 
Disregard128DefaultDrawDistance	1	0
list ATI_Radeon_X1700 
Disregard128DefaultDrawDistance	1	0
list ATI_Mobility_Radeon_X1xxx
Disregard128DefaultDrawDistance	1	0

/// Tweaked NVIDIA

list NVIDIA_GeForce_FX_5100
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_5200
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_5500
Disregard96DefaultDrawDistance	1	0

list NVIDIA_GeForce_FX_Go5100
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_Go5200
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_Go5300
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_Go5500
Disregard96DefaultDrawDistance	1	0
list NVIDIA_GeForce_FX_Go5600
Disregard96DefaultDrawDistance	1	0

list NVIDIA_GeForce_6100
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_6200
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_6500
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_6600
Disregard128DefaultDrawDistance	1	0


list NVIDIA_GeForce_Go_6100
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6200
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6500
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6600
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6700
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6800
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_6
RenderVBOEnable				1	0
Disregard128DefaultDrawDistance	1	0

list NVIDIA_GeForce_7200
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_7300
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_7400
Disregard128DefaultDrawDistance	1	0

list NVIDIA_GeForce_Go_7200
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_7300
Disregard128DefaultDrawDistance	1	0
list NVIDIA_GeForce_Go_7400
Disregard128DefaultDrawDistance	1	0

list OSX_10_6_8
RenderDeferred 0 0