// L4D gamematerial definitions from the code:
//	CHAR_TEX_ANTLION		= 'A',
//	CHAR_TEX_BLOODYFLESH	= 'B',
//	CHAR_TEX_CONCRETE		= 'C',
//	CHAR_TEX_DIRT			= 'D',
//	CHAR_TEX_FLESH			= 'F',
//	CHAR_TEX_GRATE			= 'G',
//	CHAR_TEX_ALIENFLESH		= 'H',
//	CHAR_TEX_CLIP			= 'I',
//	CHAR_TEX_GRASS			= 'J',	// L4D addition
//	CHAR_TEX_MUD			= 'K',	// L4D addition
//	CHAR_TEX_PLASTIC		= 'L',
//	CHAR_TEX_METAL			= 'M',
//	CHAR_TEX_SAND			= 'N',
//	CHAR_TEX_LEAVES			= 'O',	// L4D: renamed from CHAR_TEX_FOLIAGE
//	CHAR_TEX_COMPUTER		= 'P',
//	CHAR_TEX_ASPHALT		= 'Q',	// L4D addition
//	CHAR_TEX_BRICK			= 'R',	// L4D addition
//	CHAR_TEX_SLOSH			= 'S',
//	CHAR_TEX_TILE			= 'T',
//	CHAR_TEX_CARDBOARD		= 'U',	// L4D addition
//	CHAR_TEX_VENT			= 'V',
//	CHAR_TEX_WOOD			= 'W',
//	CHAR_TEX_FAKE			= 'X',	// Fake material for ladders, wading, skybox, etc
//	CHAR_TEX_GLASS			= 'Y',
//	CHAR_TEX_WARPSHIELD		= 'Z',	// wierd-looking jello effect for advisor shield.
//	CHAR_TEX_CLAY			= 1,	// L4D addition
//	CHAR_TEX_PLASTER		= 2,	// L4D addition
//	CHAR_TEX_ROCK			= 3,	// L4D addition
//	CHAR_TEX_RUBBER			= 4,	// L4D addition
//	CHAR_TEX_SHEETROCK		= 5,	// L4D addition
//	CHAR_TEX_CLOTH			= 6,	// L4D addition
//	CHAR_TEX_CARPET			= 7,	// L4D addition
//	CHAR_TEX_PAPER			= 8,	// L4D addition
//	CHAR_TEX_UPHOLSTERY		= 9,	// L4D addition
//	CHAR_TEX_PUDDLE			= 10,	// L4D addition

// "surface group" 
// { 
// "property" 	"value"
// ...
// }
//
// thickness: If this value is present, the material is not volumetrically solid
// it means that the volume should be computed as the surface area times this
// thickness (for automatic mass).  The inside space beneath the thickness value is air.
//
// physics parameters are:
// density: this is the material density in kg / m^3 (water is 1000)
// elasticity: This is the collision elasticity (0 - 1.0, 0.01 is soft, 1.0 is hard)
// friction: this is the physical friction (0 - 1.0, 0.01 is slick, 1.0 is totally rough)
// dampening: this is the physical drag on an object when in contact with this surface (0 - x, 0 none to x a lot)
//
// !!! Do not edit the physics properties (especially density) without the proper references !!!
//
// Sounds
// 
// stepleft: footstep sound for left foot
// stepright: footstep sound for right foot
// impactsoft: Physical impact sound when hitting soft surfaces
// impacthard: Physical impact sound when hitting hard surfaces
// scrapesmooth: Looping physics friction sound (when scraping smooth surfaces)
// scraperough: Looping physics friction sound (when scraping rough surfaces)
// bulletimpact: bullet impact sound
// gamematerial: game material index (can be a single letter or a number)
// 

// NOTE: The properties of "default" will get copied into EVERY material who does not
// 	 override them!!!
//
// "base" means to use the parameters from that material as a base.
// "base" must appear as the first key in a material
//

// -----------------------------
// world materials
// -----------------------------

// NOTE: "default" properties are assigned to ALL other materials unless overriden!!!
"default"
{
	"density"	"2000"
	"elasticity"	"0.25"
	"friction"	"0.8"
	"dampening"	"0.0"

 "runleft"          "default.RunLeft"
 "runright"         "default.RunRight"
 "walkleft"          "default.WalkLeft"
 "walkright"         "default.WalkRight"

	"bulletimpact"	"Default.BulletImpact"
	"scraperough"	"Default.ScrapeRough"
	"scrapesmooth"	"Default.ScrapeSmooth"
	"impacthard"	"Default.ImpactHard"
	"impactsoft"	"Default.ImpactSoft"

	"audioreflectivity" "0.66"
	"audiohardnessfactor" "1.0"
	"audioroughnessfactor" "1.0"

	"scrapeRoughThreshold" "0.5"
	"impactHardThreshold" "0.5"

	"gamematerial"	"D"
	"jumpfactor" "1.0"
	"maxspeedfactor" "1.0"
	"climbable"	"0"
}

// NOTE: Almost nothing is solid metal - so "metal" is sheet metal
"solidmetal"
{
	"density"	"2700"
	"elasticity"	"0.1"
	"audioreflectivity" "0.83"
	"friction"	"0.8"
 "runleft"          "SolidMetal.RunLeft"
 "runright"         "SolidMetal.RunRight"
 "walkleft"          "SolidMetal.WalkLeft"
 "walkright"         "SolidMetal.WalkRight"

	"impacthard"	"SolidMetal.ImpactHard"
	"impactsoft"	"SolidMetal.ImpactSoft"
	"scraperough"	"SolidMetal.ScrapeRough"
	"scrapesmooth"	"SolidMetal.ScrapeSmooth"
	"bulletimpact"	"SolidMetal.BulletImpact"

	// "strain"		"SolidMetal.Strain"

	"gamematerial"	"M"
}

// metal box - smaller metal box (< 2' width/height/depth)

"Metal_Box"
{
	"base"	"solidmetal"
	"thickness"	"0.1"

 "runleft"          "SolidMetal.RunLeft"
 "runright"         "SolidMetal.RunRight"
 "walkleft"          "SolidMetal.WalkLeft"
 "walkright"         "SolidMetal.WalkRight"

	"bulletimpact"	"Metal_Box.BulletImpact"
	"scraperough"	"Metal_Box.ScrapeRough"
	"scrapesmooth"	"Metal_Box.ScrapeSmooth"
	"impacthard"	"Metal_Box.ImpactHard"
	"impactsoft"	"Metal_Box.ImpactSoft"

	"break"		"Metal_Box.Break"
	// "strain"		"Metal_Box.Strain"
}

// Assume that everything we are building
// is large enough to be constructed out of a thin sheet of metal
// only flag a few things as "solidmetal" (I-Beams, anvils, etc)
"metal"
{
	"base"		"solidmetal"
	"elasticity"	"0.25"
	"thickness"	"0.1"
}

"metalvehicle"
{
	"base"		"metal"
	"thickness"	"0.1"
	"density"	"2700"
	"elasticity"	"0.2"
	"friction"	"0.8"

	"audioreflectivity" "0.33"
	"audioroughnessfactor" "0.1"
	"audioHardMinVelocity"	"500" // 500

	"impactHardThreshold" "0.5"   
  

	"impacthard"	"SolidMetal.ImpactHard"
	"impactsoft"	"SolidMetal.ImpactSoft"
	"scraperough"	"SolidMetal.ScrapeRough"
	"scrapesmooth"	"SolidMetal.ScrapeSmooth"


	"gamematerial"	"M"
}

"metal_bouncy"
{
	"base"		"solidmetal"
	"elasticity"	"1000"
	"friction"	"0"
	"density"	"10000"
}

// Airboat pontoons have very low friction
// TODO: make the pontoon material separate from the rest of the airboat?
"slipperymetal"
{
	"base"		"metal"
	"friction"	"0.1"
	"elasticity" "0.15"

	"audioreflectivity" "0.83"
	"audioroughnessfactor" "0.1"
}

// metal grating, used for decking

"metalgrate"
{
	"thickness"	"0.5"
	"density"	"1600"
	"elasticity"	"0.25"
	"friction"	"0.8"

 "runleft"          "Metalgrate.RunLeft"
 "runright"         "Metalgrate.RunRight"
 "walkleft"          "Metalgrate.WalkLeft"
 "walkright"         "Metalgrate.WalkRight"

	"impacthard"	"MetalGrate.ImpactHard"
	"impactsoft"	"MetalGrate.ImpactSoft"
	"scraperough"	"MetalGrate.ScrapeRough"
	"scrapeSmooth"	"MetalGrate.ScrapeSmooth"
	"bulletimpact"	"MetalGrate.BulletImpact"

	"audioreflectivity" "0.83"

	// "strain"		"Metal_Box.Strain"

	"gamematerial"	"-"
}

// ~1mm thick metal

"metalvent"
{
	"base"		"metal_box"
	"thickness"	"0.04"
	"density"	"2700"
	"elasticity"	"0.1"
	"friction"	"0.8"

 "runleft"          "metalvent.RunLeft"
 "runright"         "metalvent.RunRight"
 "walkleft"          "metalvent.WalkLeft"
 "walkright"         "metalvent.WalkRight"

	"impacthard"	"MetalVent.ImpactHard"
	
	"audioreflectivity" "0.33"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"V"
}

// thick solid steel panel - used for solid wall, floor, machine construction

"metalpanel"
{
	"base"		"metal"
	"thickness"	"0.1"
	"density"	"2700"
	"elasticity"	"0.2"
	"friction"	"0.8"

	"audioreflectivity" "0.33"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"V"
}

"dirt"
{
	"density"	"1600"
	"elasticity"	"0.01"
	"friction"	"0.8"
 "runleft"          "dirt.RunLeft"
 "runright"         "dirt.RunRight"
 "walkleft"          "dirt.WalkLeft"
 "walkright"         "dirt.WalkRight"

	"impacthard"	"Dirt.Impact"
	"scraperough"	"Dirt.Scrape"
	"bulletimpact"	"Dirt.BulletImpact"

	"audioreflectivity" "0.03"
	"audiohardnessfactor" "0.25"

	"gamematerial"	"D"
}

"mud"
{
	"base"		 "dirt"
	"friction"	 "0.6"
	"dampening"	 "6.0"

 "runleft"          "mud.RunLeft"
 "runright"         "mud.RunRight"
 "walkleft"          "mud.WalkLeft"
 "walkright"         "mud.WalkRight"
	
	"audiohardnessfactor" "0.0"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"K"	// L4D: new gamematerial
}

"slipperyslime"
{
	"base"		"dirt"
	"friction"	 "0.1"
	"jumpfactor" "0.7"

 "runleft"          "slipperyslime.RunLeft"
 "runright"         "slipperyslime.RunRight"
 "walkleft"          "slipperyslime.WalkLeft"
 "walkright"         "slipperyslime.WalkRight"


	"audiohardnessfactor" "0.0"
	"audioroughnessfactor" "0.1"
}

"grass"
{
	"base"		"dirt"
 "runleft"          "grass.RunLeft"
 "runright"         "grass.RunRight"
 "walkleft"          "grass.WalkLeft"
 "walkright"         "grass.WalkRight"


	"gamematerial"	"J"	// L4D: new gamematerial
}

"tile"
{
	"thickness"	"0.5"
	"density"	"2700"
	"elasticity"	"0.3"
	"friction"	"0.8"
 "runleft"          "tile.RunLeft"
 "runright"         "tile.RunRight"
 "walkleft"          "tile.WalkLeft"
 "walkright"         "tile.WalkRight"


	"audioreflectivity" "0.99"
	"audioroughnessfactor" "0.1"

	"bulletimpact"	"Tile.BulletImpact"
	"gamematerial"	"T"
}

// generic wood (NOTE: materials should use wood_box, wood_crate, wood_plank, wood_panel etc)

"Wood"	
{
	"density"	"700"
	"elasticity"	"0.1"
	"friction"	"0.8"
 "runleft"          "Wood.RunLeft"
 "runright"         "Wood.RunRight"
 "walkleft"          "Wood.WalkLeft"
 "walkright"         "Wood.WalkRight"

	"bulletimpact"	"Wood.BulletImpact"
	"scraperough"	"Wood.ScrapeRough"
	"scrapesmooth"	"Wood.ScrapeSmooth"
	"impacthard"	"Wood.ImpactHard"
	"impactsoft"	"Wood.ImpactSoft"

//	"strain"		"Wood.Strain"
	"break"			"Wood.Break"

	"audioreflectivity" "0.33"
	"audiohardnessfactor" "0.25"

	"gamematerial"	"W"
}

"Wood_lowdensity"
{
	"base"		"wood"
	"density"	"300"
}

// small crate

"Wood_Box"
{
	"base"	"Wood"
 "runleft"          "Wood.RunLeft"
 "runright"         "Wood.RunRight"
 "walkleft"          "Wood.WalkLeft"
 "walkright"         "Wood.WalkRight"

	"bulletimpact"	"Wood_Box.BulletImpact"
	"scraperough"	"Wood_Box.ScrapeRough"
	"scrapesmooth"	"Wood_Box.ScrapeSmooth"
	"impacthard"	"Wood_Box.ImpactHard"
	"impactsoft"	"Wood_Box.ImpactSoft"

//	"strain"		"Wood_Box.Strain"
	"break"			"Wood_Box.Break"

}

// large crate, large wood furniture (bookcases, tables)

"Wood_Crate"
{
	"base"	"Wood"

 "runleft"          "Wood_Crate.RunLeft"
 "runright"         "Wood_Crate.RunRight"
 "walkleft"          "Wood_Crate.WalkLeft"
 "walkright"         "Wood_Crate.WalkRight"

	"scraperough"	"Wood_Crate.ScrapeRough"
	"scrapesmooth"	"Wood_Crate.ScrapeSmooth"
	"impacthard"	"Wood_Crate.ImpactHard"
	"impactsoft"	"Wood_Crate.ImpactSoft"

//	"strain"		"Wood_Crate.Strain"
	"break"			"Wood_Crate.Break"

}

// wood board, floorboard, plank

"Wood_Plank"
{
	"base"	"Wood_Box"

	"bulletimpact"	"Wood_Plank.BulletImpact"
	"scraperough"	"Wood_Plank.ScrapeRough"
	"scrapesmooth"	"Wood_Plank.ScrapeSmooth"
	"impacthard"	"Wood_Plank.ImpactHard"
	"impactsoft"	"Wood_Plank.ImpactSoft"

//	"strain"		"Wood_Plank.Strain"
	"break"			"Wood_Plank.Break"

}

// solid 6x6 or greater block, post or tree

"Wood_Solid"
{
	"base"	"Wood"

	"bulletimpact"	"Wood_Solid.BulletImpact"
	"scraperough"	"Wood_Solid.ScrapeRough"
	"scrapesmooth"	"Wood_Solid.ScrapeSmooth"
	"impacthard"	"Wood_Solid.ImpactHard"
	"impactsoft"	"Wood_Solid.ImpactSoft"

//	"strain"		"Wood_Solid.Strain"
	"break"			"Wood_Solid.Break"

}

// small wood furniture - chairs, small tables

"Wood_Furniture"
{
	"base"	"Wood_Box"

	"impactsoft"	"Wood_Furniture.ImpactSoft"

//	"strain"		"Wood_Furniture.Strain"
	"break"			"Wood_Furniture.Break"

}

// wood panel - plywood panel, wood door panel

"Wood_Panel"
{
	"base"	"Wood_Crate"
	"thickness"		"1.0"
 "runleft"          "Wood_Panel.RunLeft"
 "runright"         "Wood_Panel.RunRight"
 "walkleft"          "Wood_Panel.WalkLeft"
 "walkright"         "Wood_Panel.WalkRight"

	"bulletimpact"	"Wood_Panel.BulletImpact"
	"scraperough"	"Wood_Panel.ScrapeRough"
	"scrapesmooth"	"Wood_Panel.ScrapeSmooth"
	"impacthard"	"Wood_Panel.ImpactHard"
	"impactsoft"	"Wood_Panel.ImpactSoft"

//	"strain"		"Wood_Panel.Strain"
	"break"			"Wood_Panel.Break"

}


"water"
{
	"density"	"1000"
	"elasticity"	"0.1"
	"friction"	"0.8"
 "runleft"          "water.RunLeft"
 "runright"         "water.RunRight"
 "walkleft"          "water.WalkLeft"
 "walkright"         "water.WalkRight"

	"bulletimpact"	"Water.BulletImpact"

	"audioreflectivity" "0.33"
	"audioroughnessfactor" "0.1"
	"audiohardnessfactor" "0.0"

	"gamematerial"	"S"
}

"wet"
{
	"gamematerial"	"S"
}

"puddle"
{

	"gamematerial"	"10"
}


"slime"
{
	"density"	"2000"
	"elasticity" "0.1"
	"friction"	"0.9"
	"dampening"	 "200.0"

 "runleft"          "slipperyslime.RunLeft"
 "runright"         "slipperyslime.RunRight"
 "walkleft"          "slipperyslime.WalkLeft"
 "walkright"         "slipperyslime.WalkRight"

	"bulletimpact"	"Water.BulletImpact"

	"gamematerial"	"S"

	"audioreflectivity" "0.33"
	"audiohardnessfactor" "0.0"
	"audioroughnessfactor" "0.1"
}

"quicksand"
{
	"density"	"600"
	"elasticity"	"2.0"

	"audioreflectivity" "0.33"
	"audiohardnessfactor" "0.0"
	"audioroughnessfactor" "1.0"
}

// wade is a water material for walking in/on water at knee height
"wade"
{
	"base"		"water"
 "runleft"          "wade.RunLeft"
 "runright"         "wade.RunRight"
 "walkleft"          "wade.WalkLeft"
 "walkright"         "wade.WalkRight"


	"audioreflectivity" "0.33"

	"gamematerial" "X"
}

// ladder is a fake material for walking on ladders
"ladder"
{
	"base"		"metal"
	"climbable"	"1.0"
 "runleft"          "ladder.RunLeft"
 "runright"         "ladder.RunRight"
 "walkleft"          "ladder.WalkLeft"
 "walkright"         "ladder.WalkRight"


	"audioreflectivity" "0.33"

	"gamematerial" "X"
}

"woodladder"
{
	"base"		"wood"
	"climbable"	"1.0"
 "runleft"          "wood_panel.RunLeft"
 "runright"         "wood_panel.RunRight"
 "walkleft"          "wood_panel.WalkLeft"
 "walkright"         "wood_panel.WalkRight"


	"audioreflectivity" "0.33"

	"gamematerial" "X"
}

// pane of glass, computer screen, window, glass door

"glass"
{
	"thickness"	"0.5"
	"density"	"2700"
	"elasticity"	"0.2"
	"friction"	"0.5"
 "runleft"          "glass.RunLeft"
 "runright"         "glass.RunRight"
 "walkleft"          "glass.WalkLeft"
 "walkright"         "glass.WalkRight"

	"scraperough"	"Glass.ScrapeRough"
	"scrapesmooth"	"Glass.ScrapeSmooth"
	"impacthard"	"Glass.ImpactHard"
	"impactsoft"	"Glass.ImpactSoft"
		
	"bulletimpact"	"Glass.BulletImpact"
	
	// "strain"		"Glass.Strain"
	"break"			"Glass.Break"

	"audioreflectivity" "0.66"
	"audiohardnessfactor" "1.0"

	"audioroughnessfactor" "0.0"
	"gamematerial"	"Y"
}

// computer case, tech equipment case

"computer"
{
	"base"		"metal_box"

	"bulletimpact"	"Computer.BulletImpact"
	"impacthard"	"Computer.ImpactHard"
	"impactsoft"	"Computer.ImpactSoft"

	"gamematerial"	"P"
}

"concrete"
{
	"density"	"2400"
	"elasticity"	"0.2"
	"friction"	"0.8"
 "runleft"          "concrete.RunLeft"
 "runright"         "concrete.RunRight"
 "walkleft"          "concrete.WalkLeft"
 "walkright"         "concrete.WalkRight"

	"scraperough"	"Concrete.ScrapeRough"
	"scrapesmooth"	"Concrete.ScrapeSmooth"
	"impacthard"	"Concrete.ImpactHard"
	"impactsoft"	"Concrete.ImpactSoft"
	"bulletimpact"	"Concrete.BulletImpact"

	"audioreflectivity" "0.66"

	"gamematerial"	"C"
}

"asphalt"
{
	"base"		"concrete"
	"gamematerial"	"Q"
}

// Solid rock (small sounds)
"rock"
{
	"base"		"concrete"
	"impacthard"	"Rock.ImpactHard"
	"impactsoft"	"Rock.ImpactSoft"
	"scraperough"	"Rock.ImpactHard"
	"scrapesmooth"	"Rock.ImpactSoft"

	"gamematerial"	"3"

}

// tubs, urinals, sinks

"porcelain"
{
	"base"		"rock"
}

// Large solid rock (large sounds)
"boulder"
{
	"base"		"rock"
	"scraperough"	"Boulder.ScrapeRough"
	"scrapesmooth"	"Boulder.ScrapeSmooth"
	"impacthard"	"Boulder.ImpactHard"
	"impactsoft"	"Boulder.ImpactSoft"

	"gamematerial"	"3"
}


"gravel"
{
	"base"		"dirt"
 "runleft"          "gravel.RunLeft"
 "runright"         "gravel.RunRight"
 "walkleft"          "gravel.WalkLeft"
 "walkright"         "gravel.WalkRight"
}

"brick"
{
	"base"		"rock"
	"gamematerial"	"R"
}

// 9x12 prefabricated concrete cinder blocks

"concrete_block"
{
	
	"base"		"concrete"
	"impacthard"	"Concrete_Block.ImpactHard"
}

// chainlink fencing material

"chainlink"
{
	"thickness"	"0.5"
	"density"	"1600"
	"elasticity"	"0.25"
	"friction"	"0.8"
 "runleft"          "chainlink.RunLeft"
 "runright"         "chainlink.RunRight"
 "walkleft"          "chainlink.WalkLeft"
 "walkright"         "chainlink.WalkRight"

	"impacthard"	"ChainLink.ImpactHard"
	"impactsoft"	"ChainLink.ImpactSoft"
	"scraperough"	"ChainLink.ScrapeRough"
	"scrapesmooth"	"ChainLink.ScrapeSmooth"
	"bulletimpact"	"ChainLink.BulletImpact"
	"gamematerial"	"G"
}

// metal chain

"chain"
{
	"base"		"chainlink"
	"impacthard"	"ChainLink.ImpactHard"
	"impactsoft"	"ChainLink.ImpactSoft"
	"scraperough"	"ChainLink.ScrapeRough"
	"scrapesmooth"	"ChainLink.ScrapeSmooth"
	"bulletimpact"	"ChainLink.BulletImpact"
	"gamematerial"	"G"
}

// medium sized body

"flesh"
{
	"density"	"900"

 "runleft"          "flesh.RunLeft"
 "runright"         "flesh.RunRight"
 "walkleft"          "flesh.WalkLeft"
 "walkright"         "flesh.WalkRight"

	"bulletimpact"	"Flesh.BulletImpact"
	"impacthard"	"Flesh.ImpactHard"
	"impactsoft"	"Flesh.ImpactSoft"
	"scraperough"	"Flesh.ScrapeRough"
	"scrapesmooth"	"Flesh.ScrapeSmooth"

//	"strain"		"Flesh.Strain"
	"break"			"Flesh.Break"

	"audiohardnessfactor" "0.25"
	"audioHardMinVelocity" "500"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"F"
}

// gibs

"bloodyflesh"
{
	"base"			"flesh"

	"impacthard"	"Flesh_Bloody.ImpactHard"

	"gamematerial"	"B"
}

"alienflesh"
{
	"base"			"flesh"

	"gamematerial"	"H"
}


// Flesh for physics, metal for bullet fx
"armorflesh"
{
	"base"		"flesh"
	"bulletimpact"	"ArmorFlesh.BulletImpact"

	"audiohardnessfactor" "1.0"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"M"
}

// "watermelon"
// {
	// "density"	"900"
	// "bulletimpact"	"Watermelon.BulletImpact"
	// "impacthard"	"Watermelon.Impact"
	// "scraperough"	"Watermelon.Scrape"

	// "audiohardnessfactor" "0.25"
	// "audioroughnessfactor" "0.1"

	// "gamematerial"	"W"
// }

"snow"
{
	"base"		"dirt"
	"density"	"800"
	"friction"	"0.35"

	"audiohardnessfactor" "0.25"
	"friction"	"0.8"
 "runleft"          "grass.RunLeft"
 "runright"         "grass.RunRight"
 "walkleft"          "grass.WalkLeft"
 "walkright"         "grass.WalkRight"
}

"ice"
{
	"density"	"917"
	"friction"	"0.1"
	"elasticity"	"0.1"

	"audioroughnessfactor" "0.1"
}


// UNDONE: Do proper values for these - I made them up so I would have good
// initial values for all VMTs
"carpet"
{
	"base"		"dirt"
	"density"	"500"
	"thickness"	"0.1"
	"elasticity"	"0.01"
	"friction"	"0.8"
	
	"impacthard"	"Carpet.Impact"
	"bulletimpact"	"Carpet.BulletImpact"
	"scraperough"	"Carpet.Scrape"

	"audioreflectivity" "0.03"
	"audiohardnessfactor" "0.25"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"7"
}

// UNDONE: Do proper values for these - I made them up so I would have good
// initial values for all VMTs
"upholstery"
{
	"base"		"dirt"
	"density"	"500"
	"thickness"	"0.1"
	"elasticity"	"0.01"
	"friction"	"0.8"
	
	"impacthard"	"Carpet.Impact"
	"bulletimpact"	"Carpet.BulletImpact"
	"scraperough"	"Carpet.Scrape"

	"audioreflectivity" "0.03"
	"audiohardnessfactor" "0.25"
	"audioroughnessfactor" "0.1"

	"gamematerial"	"9"
}

// drywall, office wall material, sheetrock

"plaster"
{
	"base"		"dirt"
	"audiohardnessfactor" "0.5"
	"audioroughnessfactor" "0.1"

 "runleft"          "plaster.RunLeft"
 "runright"         "plaster.RunRight"
 "walkleft"          "plaster.WalkLeft"
 "walkright"         "plaster.WalkRight"

	"bulletimpact"	"drywall.ImpactHard"
	"scraperough"	"ceiling_tile.ScrapeRough"
	"scrapesmooth"	"ceiling_tile.ScrapeSmooth"
	"impacthard"	"drywall.ImpactHard"
	"impactsoft"	"drywall.ImpactSoft"

//	"strain"		"Cardboard.Strain"
	"break"			"Cardboard.Break"

	"gamematerial"	"2"

}

"sheetrock"
{
	"base"		"dirt"
	"audiohardnessfactor" "0.5"
	"audioroughnessfactor" "0.1"

 "runleft"          "default.RunLeft"
 "runright"         "default.RunRight"
 "walkleft"          "default.WalkLeft"
 "walkright"         "default.WalkRight"

	"bulletimpact"	"drywall.ImpactHard"
	"scraperough"	"ceiling_tile.ScrapeRough"
	"scrapesmooth"	"ceiling_tile.ScrapeSmooth"
	"impacthard"	"drywall.ImpactHard"
	"impactsoft"	"drywall.ImpactSoft"

//	"strain"		"Cardboard.Strain"
	"break"			"Cardboard.Break"

	"gamematerial"	"5"

}

// carboard box

"cardboard"
{
	"base"		"dirt"
	"density"	"500"
	"thickness"	"0.25"

	"audiohardnessfactor" "0.25"
	"audioroughnessfactor" "0.25"

 "runleft"          "cardboard.RunLeft"
 "runright"         "cardboard.RunRight"
 "walkleft"          "cardboard.WalkLeft"
 "walkright"         "cardboard.WalkRight"

	"bulletimpact"	"Cardboard.BulletImpact"
	"scraperough"	"Cardboard.ScrapeRough"
	"scrapesmooth"	"Cardboard.ScrapeSmooth"
	"impacthard"	"Cardboard.ImpactHard"
	"impactsoft"	"Cardboard.ImpactSoft"

//	"shake"			"Cardboard.Shake"
//	"strain"		"Cardboard.Strain"
	"break"			"Cardboard.Break"

	"gamematerial"	"U"

}

// larger plastic barrel, hollow, soft plastic

"plastic_barrel"
{
	"density"	"500"
	"thickness"	"0.25"
	"elasticity"	"0.01"
	"friction"	"0.8"

	"audiohardnessfactor" "0.25"
	"audioroughnessfactor" "0.25"
 "runleft"          "plastic_barrel.RunLeft"
 "runright"         "plastic_barrel.RunRight"
 "walkleft"          "plastic_barrel.WalkLeft"
 "walkright"         "plastic_barrel.WalkRight"

	"bulletimpact"	"Plastic_Barrel.BulletImpact"
	"scraperough"	"Plastic_Barrel.ScrapeRough"
	"scrapesmooth"	"Plastic_Barrel.ScrapeSmooth"
	"impacthard"	"Plastic_Barrel.ImpactHard"
	"impactsoft"	"Plastic_Barrel.ImpactSoft"

//	"shake"			"Plastic_Barrel.Shake"
//	"strain"		"Plastic_Barrel.Strain"
	"break"			"Plastic_Barrel.Break"
//	"roll"			"Plastic_Barrel.Roll"

	"gamematerial"	"L"
}

// small - medium plastic box, hard plastic

"Plastic_Box"
{
	"density"	"500"
	"elasticity"	"0.01"
	"friction"	"0.8"
	"thickness"	"0.25"

	"audiohardnessfactor" "0.25"
	"audioroughnessfactor" "0.25"

 "runleft"          "plastic_box.RunLeft"
 "runright"         "plastic_box.RunRight"
 "walkleft"          "plastic_box.WalkLeft"
 "walkright"         "plastic_box.WalkRight"

	"bulletimpact"	"Plastic_Box.BulletImpact"
	"scraperough"	"Plastic_Box.ScrapeRough"
	"scrapesmooth"	"Plastic_Box.ScrapeSmooth"
	"impacthard"	"Plastic_Box.ImpactHard"
	"impactsoft"	"Plastic_Box.ImpactSoft"

//	"strain"		"Plastic_Box.Strain"
	"break"			"Plastic_Box.Break"

	"gamematerial"	"L"
}

// smaller generic hard plastic

"plastic"
{
 	"base"		"Plastic_Box"
	"audioroughnessfactor" "0.1"

	"bulletimpact"	"Plastic_Box.ImpactHard"
}

// small med kit, smaller tech items, battery

"item"
{
	"base"		"Plastic_Box"
	"density"	"600"

	"bulletimpact"	"Plastic_Box.ImpactHard"
}


// This one is used for puzzles where we want something that floats
// but the player can stand on without it sinking beneath the water
"floatingstandable"
{
	"base"		"dirt"
	"density"	"800"
}


"sand"
{
	"base"		"dirt"
 "runleft"          "sand.RunLeft"
 "runright"         "sand.RunRight"
 "walkleft"          "sand.WalkLeft"
 "walkright"         "sand.WalkRight"

	"bulletimpact"	"Sand.BulletImpact"

	"audioreflectivity" "0.03"
}

// solid rubber floor mat, solid rubber tire

"rubber"
{
	"base"			"dirt"
	"elasticity"	"0.2"
	"friction"		"0.8"

 "runleft"          "rubber.RunLeft"
 "runright"         "rubber.RunRight"
 "walkleft"          "rubber.WalkLeft"
 "walkright"         "rubber.WalkRight"

	"impacthard"	"Rubber.ImpactHard"
	"impactsoft"	"Rubber.ImpactSoft"
	"bulletimpact"	"Rubber.BulletImpact"

	"audioroughnessfactor" "0.1"
	"audiohardnessfactor" "0.2"

	"gamematerial"	"4"

}

// hollow rubber tire

"rubbertire"
{
	"base"			"rubber"

	"bulletimpact"	"Rubber_Tire.BulletImpact"
	"impacthard"	"Rubber_Tire.ImpactHard"
	"impactsoft"	"Rubber_Tire.ImpactSoft"

//	"strain"		"Rubber_Tire.Strain"

	"friction"		"1.0"

	"gamematerial"	"4"
}

"jeeptire"
{
	"base"			"rubber"

	"bulletimpact"	"Rubber_Tire.BulletImpact"
	"impacthard"	"Rubber_Tire.ImpactHard"
	"impactsoft"	"Rubber_Tire.ImpactSoft"

//	"strain"		"Rubber_Tire.Strain"

	"friction"		"1.337"

	"gamematerial"	"4"
}

"slidingrubbertire"
{
	"base"			"rubber"
	"friction"		"0.2"
}

"brakingrubbertire"
{
	"base"			"rubber"
	"friction"		"0.6"
}

"slidingrubbertire_front"
{
	"base"			"rubber"
	"friction"		"0.2"
}

"slidingrubbertire_rear"
{
	"base"			"rubber"
	"friction"		"0.2"
}

// -----------------------------
// objects
// -----------------------------


// glass soda bottle, cup, plate, jar

"glassbottle"
{
	"base"		"glass"
	"friction"	"0.4"
	"elasticity"	"0.3"

 "runleft"          "glassbottle.RunLeft"
 "runright"         "glassbottle.RunRight"
 "walkleft"          "glassbottle.WalkLeft"
 "walkright"         "glassbottle.WalkRight"

	"impacthard"	"GlassBottle.ImpactHard"
	"impactsoft"	"GlassBottle.ImpactSoft"
	"scraperough"	"GlassBottle.ScrapeRough"
	"scrapesmooth"	"GlassBottle.ScrapeSmooth"
	"bulletimpact"	"GlassBottle.BulletImpact"

	"break"			"GlassBottle.Break"
}

// ceramic jug, mug

"pottery"
{
	"base"		"glassbottle"
	"friction"	"0.4"
	"elasticity"	"0.3"

	"impacthard"	"Pottery.ImpactHard"
	"impactsoft"	"Pottery.ImpactSoft"
	"bulletimpact"	"Pottery.BulletImpact"

	"break"			"Pottery.Break"

	"gamematerial"	"1"
}

"clay"
{
	"base"		"tile"
	"gamematerial"	"1"
}

// solid hand grenade

"grenade"
{
	"base"		"metalpanel"
	"friction"	"0.9"
	"elasticity"	"0.01"


	"audiohardnessfactor" "1.0"
	"audioroughnessfactor" "0.4"
 "runleft"          "grenade.RunLeft"
 "runright"         "grenade.RunRight"
 "walkleft"          "grenade.WalkLeft"
 "walkright"         "grenade.WalkRight"

	"bulletimpact"	"Grenade.ImpactHard"
	"scraperough"	"Grenade.ScrapeRough"
	"scrapesmooth"	"Grenade.ScrapeSmooth"
	"impacthard"	"Grenade.ImpactHard"
	"impactsoft"	"Grenade.ImpactSoft"
	// "roll"		"Grenade.Roll"
}


// large oxygen tank, propane tank, welding tank

"canister"
{
	"base"		"metalpanel"
	"impacthard"	"Canister.ImpactHard"
	"impactsoft"	"Canister.ImpactSoft"
	"scraperough"	"Canister.ScrapeRough"
	"scrapesmooth"	"Canister.ScrapeSmooth"
	// "roll"		"Canister.Roll"
}

// larger metal barrel, metal oil drum

"metal_barrel"
{
	"base"		"metal_box"
	"impacthard"	"Metal_Barrel.ImpactHard"
	"impactsoft"	"Metal_Barrel.ImpactSoft"
	"bulletimpact"	"Metal_Barrel.BulletImpact"
	// "roll"		"Metal_Barrel.Roll"
}

"floating_metal_barrel"
{
	"base"		"metal_barrel"
	"density"	"500"
}

"plastic_barrel_buoyant"
{
	"base"		"plastic_barrel"
	"density"	"150"
}

// ROLLER NPC

"roller"
{
	"base"		"metalpanel"
	"friction"	"0.7"
	"elasticity"	"0.3"
	"impacthard"	"Roller.Impact"
}

// small aluminum can, full

"popcan"
{
	"base"		"metal_box"
	"friction"	"0.3"
	"elasticity"	"0.99"
	"impacthard"	"Popcan.ImpactHard"
	"impactsoft"	"Popcan.ImpactSoft"
	"scraperough"	"Popcan.ScrapeRough"
	"scrapesmooth"	"Popcan.ScrapeSmooth"
	"bulletimpact"	"Popcan.BulletImpact"
	// strain		// none
	// break		// none
}

// paint can, smaller metal can

"paintcan"
{
	"base"		"popcan"
	"friction"	"0.3"
	"elasticity"	"0.99"
	"impacthard"	"Paintcan.ImpactHard"
	"impactsoft"	"Paintcan.ImpactSoft"

	//"roll"		"Paintcan.Roll"
	// strain		// none
	// break		// none
}

"paper"
{
	"base"		"cardboard"
}


"papercup"
{
	"base"		"paper"
	"friction"	"0.8"
	"elasticity"	"0.1"
	"impacthard"	"Papercup.Impact"
	"scraperough"	"Popcan.ScrapeRough"
}

// accoustic ceiling tiles, sound baffles, crumbly plaster
"ceiling_tile"
{
	"base"		"cardboard"

 "runleft"          "ceiling_tile.RunLeft"
 "runright"         "ceiling_tile.RunRight"
 "walkleft"          "ceiling_tile.WalkLeft"
 "walkright"         "ceiling_tile.WalkRight"

	"bulletimpact"	"ceiling_tile.BulletImpact"
	"scraperough"	"ceiling_tile.ScrapeRough"
	"scrapesmooth"	"ceiling_tile.ScrapeSmooth"
	"impacthard"	"ceiling_tile.ImpactHard"
	"impactsoft"	"ceiling_tile.ImpactSoft"

	"break"			"ceiling_tile.Break"
}


// weapon models - sounds for when weapons drop
// Maybe we'll want specific materials for each weapon?
"weapon"
{
	"base"		"metal"
 "runleft"          "weapon.RunLeft"
 "runright"         "weapon.RunRight"
 "walkleft"          "weapon.WalkLeft"
 "walkright"         "weapon.WalkRight"

	"bulletimpact"	"weapon.BulletImpact"
	"scraperough"	"weapon.ScrapeRough"
	"scrapesmooth"	"weapon.ScrapeSmooth"
	"impacthard"	"weapon.ImpactHard"
	"impactsoft"	"weapon.ImpactSoft"
}

// for invisible collision materials (like sky)
"default_silent"
{
	"gamematerial"	"X"
}

// special materials for player controller
"player"
{
	"density"	"1000"
	"friction"	"0.5"
	"elasticity"	"0.001"

	// player is soft & smooth for sound selection
	"audiohardnessfactor" "0.0"
	"audioroughnessfactor" "0.0"
}

"player_control_clip"
{
	"gamematerial"	"I"
}

"no_decal"
{
	"density"	"900"
	"gamematerial" "-"
}

"foliage"
{
	"base"		"Wood_Solid"
 "runleft"          "grass.RunLeft"
 "runright"         "grass.RunRight"
 "walkleft"          "grass.WalkLeft"
 "walkright"         "grass.WalkRight"


	"density"	"700"
	"elasticity"	"0.1"
	"friction"	"0.8"

	"gamematerial"	"O"
}

 
