version 15
// 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.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 S32 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
RenderVBO			1	1
RenderAniso			1	0
RenderAvatarMode	1	2
RenderAvatarVP		1	1
RenderDistance		1	128
RenderLighting		1	1
RenderObjectBump	1	1
RenderParticleCount	1	4096
RenderRippleWater	1	1
RenderTerrainDetail	1	2
VertexShaderEnable	1	1
RenderTextureMemoryMultiple		1	1.0
UseOcclusion		1       1
RenderCubeMap		1       1
WatchdogDisabled				1	1
RenderUseFBO				1	1


//
// Class 0 Hardware (Unknown or just old)
//
list Class0
VertexShaderEnable	1	0
RenderVBO			1	0
RenderDistance		1	64
RenderAvatarVP		1	0
RenderAvatarMode	1	0
RenderLighting		1	0
RenderObjectBump	1	0
RenderRippleWater	1	0
RenderUseFBO		1	0

//
// Class 1 Hardware
//
list Class1
VertexShaderEnable	1	0
RenderVBO			1	1
RenderDistance		1	96
RenderAvatarVP		1	1
RenderAvatarMode	1	0
RenderLighting		1	0
RenderObjectBump	1	0
RenderRippleWater	1	0
RenderUseFBO		1	0

//
// Class 2 Hardware (make it purty)
//
list Class2
VertexShaderEnable	1	1
RenderAvatarVP		1	1
RenderAvatarMode	1	1
RenderLighting		1	1
RenderObjectBump	1	1
RenderRippleWater	1	1
RenderUseFBO		1	1

//
// Class 3 Hardware (make it purty)
//
list Class3
VertexShaderEnable	1	1
RenderAvatarVP		1	1
RenderAvatarMode	1	1
RenderLighting		1	1
RenderObjectBump	1	1
RenderRippleWater	1	1
RenderUseFBO		1	1

//
// No Pixel Shaders available
//
list NoPixelShaders
VertexShaderEnable	0	0
RenderAvatarVP		0  0

//
// No Vertex Shaders available
//
list NoVertexShaders
VertexShaderEnable	0	0
RenderAvatarVP		0  0

//
// "Default" setups for safe, low, medium, high
//
list safe
RenderVBO			1	0
RenderAniso			1	0
RenderAvatarVP		0	0
RenderLighting		1	0
RenderParticleCount	1	1024
RenderTerrainDetail 1	0
RenderCubeMap		0	0
UseOcclusion		0	0
RenderUseFBO		1	0


list low
RenderVBO			1	0
RenderAniso			1	0
RenderAvatarMaxVisible      1   3
RenderLighting		1	0

list medium
RenderLighting		1	0


//
// CPU based feature masks
//

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


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


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

list Intel
RenderVBO			1	0
RenderAniso			1	0
RenderLighting		1	0
RenderTerrainDetail	1	0
RenderCubeMap		0	0

list GeForce2
RenderVBO			1	1
RenderAniso			1	0
RenderLighting		1	0
RenderParticleCount	1	2048
RenderTerrainDetail	1	0

list GeForce3

list ATI
UseOcclusion		0	0

list Radeon8500
RenderLighting		1	0
RenderParticleCount	1	4096

// Hacked to be paranoid "safe"
list Radeon9700
RenderParticleCount	1	4096

// Hacked to be paranoid "safe"
list MobilityRadeon9000
RenderLighting		1	0
RenderParticleCount	1	4096

list GeForceFX