ShipMotionModel						FlacoShipMotionModel{  // For Shane Garrett
//
//						low and cool, runs the channel, no sudden changes, very precise
//
	steering_degrees_per_second =			1000;
	steering_time_multiplier =										noEffect;
	steering_speed_multiplier =					VariableAssistPowerSteering;
	steering_forward_angle_multiplier =			LikesPointingForward;
	steering_upright_angle_multiplier =			LovesTheTubeBottom;				
		
	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =								noEffect;
	steering_return_speed_multiplier =			highSpeedTrueHeadingSteeringReturnSpeedMultiplier;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust =							1000;
	side_thrust_time_multiplier =									noEffect;
	side_thrust_speed_multiplier =				unjammingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =							noEffect;		//	powerDriftThrustMultiplier;
	side_thrust_upright_angle_multiplier =		LovesTheTubeBottom;

	forward_thrust =						285;
	forward_thrust_time_multiplier =			BigBurstAtFirst;
	forward_thrust_speed_multiplier =			FadesHardAtHighSpeed;
	forward_thrust_forward_angle_multiplier =						noEffect;			
	forward_thrust_upright_angle_multiplier =	LovesTheTubeBottom;

	brake =									1000;
	brake_time_multiplier =											noEffect;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						realToughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;
	six_o_clock =							VeryStrictHalfPipe;

	position_perturbation_intensity =		120;
	position_perturbation_frequency =		15;
	orientation_perturbation_intensity =	400;
	orientation_perturbation_frequency =	11;
	perturbation_speed_multiplier =			PeaksSharplyAtEighty;
}
ShipMotionModel						NikiShipMotionModel{	// for Anna Jacobson
//						swoops fast, gets up high, darts back quickly
//
	steering_degrees_per_second =			1000;
	steering_time_multiplier =					goosedSteeringTimeMultiplier;
	steering_speed_multiplier =					VariableAssistSwoopingSteering;
	steering_forward_angle_multiplier =			swoopingSteeringForwardAngleMultiplier;
	steering_upright_angle_multiplier =			swoopingSteeringUprightAngleMultiplier;
	
	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =			goosedSteeringTimeMultiplier;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							1000;
	side_thrust_time_multiplier =									noEffect;			//	snappySideThrustTimeMultiplier;
	side_thrust_speed_multiplier =				unjammingAndSwoopingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =		swoopingThrustForwardAngleMultiplier;
	side_thrust_upright_angle_multiplier =		swoopingThrustUprightAngleMultiplier;

	forward_thrust =						380;
	forward_thrust_time_multiplier =			BigBurstAtFirst;
	forward_thrust_speed_multiplier =								noEffect; //FadesAtHighSpeed;
	forward_thrust_forward_angle_multiplier =						noEffect; 
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									1000;
	brake_time_multiplier =						BigBurstAtFirst;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						toughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;
	six_o_clock =							highSixOClock;

	position_perturbation_intensity =		200;
	position_perturbation_frequency =		.4;
	orientation_perturbation_intensity =	0;
	orientation_perturbation_frequency =	1;
	perturbation_speed_multiplier =								FadesAtHighSpeed;
}

ShipMotionModel						DozerShipMotionModel{ //For Dave Rosenbaum
//
//						no pumping swoops fast, gets up high, darts back quickly
//
	steering_degrees_per_second =			1000;
	steering_time_multiplier =					goosedSteeringTimeMultiplier;
	steering_speed_multiplier =					VariableAssistSwoopingSteering;
	steering_forward_angle_multiplier =			swoopingSteeringForwardAngleMultiplier;
	steering_upright_angle_multiplier =			swoopingSteeringUprightAngleMultiplier;
	
	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =			goosedSteeringTimeMultiplier;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							1000;
	side_thrust_time_multiplier =									noEffect;			//	snappySideThrustTimeMultiplier;
	side_thrust_speed_multiplier =				unjammingAndSwoopingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =		swoopingThrustForwardAngleMultiplier;
	side_thrust_upright_angle_multiplier =		swoopingThrustUprightAngleMultiplier;

	
	forward_thrust =						650;
	forward_thrust_time_multiplier =								noEffect;
	forward_thrust_speed_multiplier =			TorqueyToTopSpeed;
	forward_thrust_forward_angle_multiplier =						noEffect; 
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									1000;
	brake_time_multiplier =											noEffect;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						toughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;
	six_o_clock =							highSixOClock;

	position_perturbation_intensity =		50;
	position_perturbation_frequency =		5;
	orientation_perturbation_intensity =	0;
	orientation_perturbation_frequency =	1;
	perturbation_speed_multiplier =									turnedOff;
}
ShipMotionModel						QuiverlyShipMotionModel{      // for Steve
//
//							
//
	steering_degrees_per_second =			1000;
	steering_time_multiplier =					BigBurstAtFirst;
	steering_speed_multiplier =					VariableAssistPowerSteering;
	steering_forward_angle_multiplier =			LikesPointingForward;
	steering_upright_angle_multiplier =			genericUprightAngleMultiplier;

	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =			SurgeNearStart;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							1000;
	side_thrust_time_multiplier =				SurgeNearStart;
	side_thrust_speed_multiplier =				unjammingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =							noEffect;
	side_thrust_upright_angle_multiplier =							noEffect;

	forward_thrust =						850;
	forward_thrust_time_multiplier =			BigBurstAtFirst;
	forward_thrust_speed_multiplier =			Governor;
	forward_thrust_forward_angle_multiplier =						noEffect; 
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									500;
	brake_time_multiplier =						BigBurstAtFirst;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						toughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;
	six_o_clock =							highSixOClock;

	position_perturbation_intensity =		80;									// shakey
	position_perturbation_frequency =		40;
	orientation_perturbation_intensity =	180;
	orientation_perturbation_frequency =	40;
	perturbation_speed_multiplier =			FadesAtHighSpeed;
}

ShipMotionModel						BadBoy4000ShipMotionModel{   // FOR JESSE JACOBSON
//
//
//
	steering_degrees_per_second =			1200;										// not much agility
	steering_time_multiplier =					StartWithABang;
	steering_speed_multiplier =					VariableAssistPowerSteering;
	steering_forward_angle_multiplier =			LikesPointingForward;	
	steering_upright_angle_multiplier =			LovesTheTubeBottom;

	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =			goosedSteeringTimeMultiplier;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							1000;
	side_thrust_time_multiplier =				snappySideThrustTimeMultiplier;
	side_thrust_speed_multiplier =				unjammingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =							noEffect;
	side_thrust_upright_angle_multiplier =		LovesTheTubeWalls;

	forward_thrust =						550;										// thrusty bastard
	forward_thrust_time_multiplier =			ShootYourWadRightAway;
	forward_thrust_speed_multiplier =			FadesAtHighSpeed;
	forward_thrust_forward_angle_multiplier =	LovesTheTubeBottom;
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									750;
	brake_time_multiplier =						SlowStartButBuildsUp;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						realToughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;										// <<<---
	six_o_clock =							HalfPipe;

	position_perturbation_intensity =		200;
	position_perturbation_frequency =		.4;
	orientation_perturbation_intensity =	0;
	orientation_perturbation_frequency =	1;
	perturbation_speed_multiplier =									turnedOff;
}

ShipMotionModel						BadBoy2000ShipMotionModel{	
//
//
//
	steering_degrees_per_second =			500;										// not much agility
	steering_time_multiplier =					StartWithABang;
	steering_speed_multiplier =					VariableAssistPowerSteering;
	steering_forward_angle_multiplier =			LikesPointingForward;	
	steering_upright_angle_multiplier =			LovesTheTubeBottom;

	steering_return_degrees_per_second =	1000;
	steering_return_time_multiplier =			goosedSteeringTimeMultiplier;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							1000;
	side_thrust_time_multiplier =				snappySideThrustTimeMultiplier;
	side_thrust_speed_multiplier =				unjammingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =							noEffect;
	side_thrust_upright_angle_multiplier =		LovesTheTubeWalls;

	forward_thrust =						600;										// thrusty bastard
	forward_thrust_time_multiplier =								noEffect;
	forward_thrust_speed_multiplier =			TorqueyToTopSpeed;
	forward_thrust_forward_angle_multiplier =	LovesTheTubeBottom;
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									800;
	brake_time_multiplier =						SlamItHardAndFadeAndSlowlyBuildBack;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	rate_of_alignment =						realToughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;										// <<<---
	six_o_clock =							HalfPipe;

	position_perturbation_intensity =		200;
	position_perturbation_frequency =		.4;
	orientation_perturbation_intensity =	0;
	orientation_perturbation_frequency =	1;
	perturbation_speed_multiplier =									turnedOff;
}
ShipMotionModel							ShipMotionModel{
//
//
//
	steering_degrees_per_second =			500;
	steering_time_multiplier =					goosedSteeringTimeMultiplier;
	steering_speed_multiplier =					VariableAssistPowerSteering;
	steering_forward_angle_multiplier =			LikesPointingForward;
	steering_upright_angle_multiplier =			genericUprightAngleMultiplier;

	steering_return_degrees_per_second =	250;
	steering_return_time_multiplier =			goosedSteeringTimeMultiplier;
	steering_return_speed_multiplier =								noEffect;
	steering_return_forward_angle_multiplier =	toughSteeringReturnForwardAngleMultiplier;
	steering_return_upright_angle_multiplier =						noEffect;

	side_thrust	=							350;
	side_thrust_time_multiplier =				snappySideThrustTimeMultiplier;
	side_thrust_speed_multiplier =				unjammingSideThrustSpeedMultiplier;
	side_thrust_forward_angle_multiplier =							noEffect;
	side_thrust_upright_angle_multiplier =							noEffect;

	forward_thrust =						350;
	forward_thrust_time_multiplier =			BigBurstAtFirst;
	forward_thrust_speed_multiplier =			FadesAtHighSpeed;
	forward_thrust_forward_angle_multiplier =						noEffect; 
	forward_thrust_upright_angle_multiplier =						noEffect; 
	
	brake =									50;
	brake_time_multiplier =											noEffect;
	brake_speed_multiplier =										noEffect;
	brake_forward_angle_multiplier =								noEffect;
	brake_upright_angle_multiplier =								noEffect;

	position_perturbation_intensity =		200;
	position_perturbation_frequency =		.4;
	orientation_perturbation_intensity =	0;
	orientation_perturbation_frequency =	1;
	perturbation_speed_multiplier =									turnedOff;

	rate_of_alignment =						toughRateOfAlignment;
	airborne_nose_rotation =				assymetricAirborneNoseRotation;
 	nose_up_intensity =						0;
	six_o_clock =							HalfPipe;
}



PiecewiseLinearFloatToFloatMapping			genericUprightAngleMultiplier
{points =	[
			{	x = 30;		y = 1;			},
			{	x = 45;		y = 0.5;		},
			{	x = 60;		y = 0.1;		},
			];}
PiecewiseLinearFloatToFloatMapping			swoopingSteeringForwardAngleMultiplier
{points =	[
			{	x = 0;		y = 1;			}, 
			{	x = 30;		y =0.4;			}, 
			{	x = 60;		y = 0;			}, 
			];}
PiecewiseLinearFloatToFloatMapping			swoopingThrustForwardAngleMultiplier
{points =	[
			{	x = 0;		y = .2;			}, 
			{	x = 30;		y = .2;			}, 
			{	x = 60;		y = 1;			}, 
			];}
PiecewiseLinearFloatToFloatMapping			LovesTheTubeWalls
{points =	[
			{	x = 20;		y = .6;			}, 
			{	x = 40;		y = 1;			}, 
			];}
PiecewiseLinearFloatToFloatMapping			LovesTheTubeBottom
{points =	[
			{	x = 20;		y = 1;			}, 
			{	x = 50;		y = .3;			}, 
			];}
PiecewiseLinearFloatToFloatMapping			swoopingSteeringUprightAngleMultiplier
{points =	[
			{	x = 0;		y = 1;			}, // Bottom Dead Center 
			{	x = 30;		y =0.3;			}, // 
			{	x = 60;		y = 0;			}, // up the wall at 8 o'clock, no more steering at all
			];}
PiecewiseLinearFloatToFloatMapping			swoopingThrustUprightAngleMultiplier
{points =	[
			{	x = 0;		y = 1;			}, // This is the thrust complement of steering 
			{	x = 15;		y =0.5;			}, // 
			{	x = 60;		y = 1;			}, //  at 8 o'clock, pure thrust
			];}
PiecewiseLinearFloatToFloatMapping			VariableAssistPowerSteering
{points = [
			{	x = 10;		y = 1;			},
			{	x = 20;		y = 0.6;		},
			{	x = 60;		y = .2;			},
	//		{	x = 90;		y = .1;			}
			];}
PiecewiseLinearFloatToFloatMapping			VariableAssistSwoopingSteering
{points =	[
			{	x =  0;		y =  1;			},
			{	x = 10;		y =0.5;			},
			{	x = 50;		y = .3;			}
			];}
PiecewiseLinearFloatToFloatMapping			toughSteeringReturnForwardAngleMultiplier
{points = 	[
			{	x = 0;		y = 0;			},
			{	x = 10;		y = 0.2;		},
			{	x = 20;		y = 0.5;		},
			{	x = 60;		y = 2;			},
			{	x = 90;		y = 5;			}
			];}
PiecewiseLinearFloatToFloatMapping			snappySideThrustTimeMultiplier
{points =	[
			{	x = 0;		y = 0;			},
			{	x = 0.25;	y = 0.3;		},
			{	x = 0.5;	y = 1;			},
			{	x = 0.75;	y = 1;			},
			{	x = 1;		y = 0.5;		},
			];}
PiecewiseLinearFloatToFloatMapping			LikesPointingForward
{points =[
			{	x = -90;	y = 1;			},
			{	x = 0;		y = 1;			},
			{	x = 15;		y = 0.6;		},
			{	x = 40;		y = 0.25;		},
			{	x = 60;		y = 0.1;		},
			{	x = 80;		y = 0;			},
			{	x = 90;		y = 0;			},
			];}
PiecewiseLinearFloatToFloatMapping			StartWithABang
{points = 	[
			{	x = 0;		y = 1;			},
			{	x = .5;		y = 0.5;		},
			];}
PiecewiseLinearFloatToFloatMapping			goosedSteeringTimeMultiplier
{points = 	[
			{	x = 0;		y = 0;			},
			{	x = 0.05;	y = 0.5;		},
			{	x = 0.15;	y = 1;			},
			{	x = .4;		y = 0.3;		},
			];}
PiecewiseLinearFloatToFloatMapping			highSpeedTrueHeadingSteeringReturnSpeedMultiplier
{points = 	[
			{	x = 5;		y = .1;			},
			{	x = 30;		y = .25;		},
			{	x = 100;	y = 1;			},
			];}
PiecewiseLinearFloatToFloatMapping			powerDriftThrustMultiplier
{					// SideThrust vs Steering Angle to swing ass out behind you
  points = [
			{	x = 5;		y = .1;			},
			{	x = 25;		y = .2;			},
			{	x = 45;		y = 1;			},
			];}
PiecewiseLinearFloatToFloatMapping			powerDriftSteeringMultiplier
{					// Steering vs w to straighten out as your ass swings out behind you
  points = [	
			{	x = 5;		y = 1;			},
			{	x = 15;		y = .3;			},
			{	x = 30;		y = .1;			},
			];}

PiecewiseLinearFloatToFloatMapping			jerkMeOutOfHereThrustMultiplier
{points = [
			{	x = 10;		y = 1;			},
			{	x = 17;		y = 2;			},
			{	x = 30;		y = 4;			},
			{	x = 45;		y = 3;			},
			];}
PiecewiseLinearFloatToFloatMapping			toughRateOfAlignment
{points =[
			{	x = -90;	y = 100;		},
			{	x = 0;		y = 30;			},
			{	x =  90;	y =100;			},
			];}
PiecewiseLinearFloatToFloatMapping			realToughRateOfAlignment
{points =[
			{	x = -60;	y = 200;		},
			{	x = -20;	y =  50;		},
			{	x = 0;		y = 0;			},
			{	x = 20;		y = 50;			},
			{	x = 60;		y = 200;		},
			];}


///////////////////////////////////////////////////////// POWER varying by SPEED models ///////////////// 
///////////////////////////////////////////////////////// POWER varying by SPEED models ///////////////// 
///////////////////////////////////////////////////////// POWER varying by SPEED models ///////////////// 
///////////////////////////////////////////////////////// POWER varying by SPEED models ///////////////// 
///////////////////////////////////////////////////////// POWER varying by SPEED models ///////////////// 

PiecewiseLinearFloatToFloatMapping			LikesItVerySlow
{points =[
			{	x = 0;		y = 1;			},
			{	x = 25;		y = 0.1;		},
			];}
PiecewiseLinearFloatToFloatMapping			FadesAtHighSpeed
{points =	[
			{	x = 0;		y = 1;			},
			{	x = 75;		y = 0.5;		},
			{	x = 150;	y = 0.25;		},
			];}	
PiecewiseLinearFloatToFloatMapping			FadesHardAtHighSpeed
{points =	[
			{	x = 0;		y = 1;			},
			{	x = 75;		y = 0.5;		},
			{	x = 150;	y = 0.125;		},
			];}	
PiecewiseLinearFloatToFloatMapping			Governor
{points =	[
			{	x =   0;	y = 1;			},
			{	x =  75;	y = 0.5;		},
			{	x = 100;	y = 0;			},
			];}	
PiecewiseLinearFloatToFloatMapping			PeaksSharplyAtEighty
{points =	[
			{	x = 70;		y = 0;			},
			{	x = 80;		y = 1;			},
			{	x =115;		y = 0;			},
			];}	
PiecewiseLinearFloatToFloatMapping			TorqueyToTopSpeed
{points =	[
			{	x = 30;		y = 1;			},
			{	x = 80;		y = .5;			},
			{	x =200;		y = .1;			},
			];}	
PiecewiseLinearFloatToFloatMapping			unjammingSideThrustSpeedMultiplier
{ points =	[
			{	x = 0;		y = 1;			},
			{	x = 9;		y = .16;		},
			];}
PiecewiseLinearFloatToFloatMapping			unjammingAndSwoopingSideThrustSpeedMultiplier
{ points =	[
			{	x = 0;		y = 1;			},
			{	x = 10;		y = .1;			},
			{	x = 90;		y =.33;			},
			];}



///////////////////////////////////////////////////////// POWER OVER TIME models ///////////////// 
///////////////////////////////////////////////////////// POWER OVER TIME models ///////////////// 
///////////////////////////////////////////////////////// POWER OVER TIME models ///////////////// 
///////////////////////////////////////////////////////// POWER OVER TIME models ///////////////// 

PiecewiseLinearFloatToFloatMapping			BigBurstAtFirst
{points =[
			{	x = 0.125;	y = .8;			},
			{	x = .2;		y = 1;			},
			{	x = 4;		y = 0.1;		},
			];}

PiecewiseLinearFloatToFloatMapping			SurgeNearStart
{points =[
			{	x = 0;		y = .0;			},
			{	x = .3;		y = 1;			},
			{	x = 4;		y = 0.1;		},
			];}

PiecewiseLinearFloatToFloatMapping			ShootYourWadRightAway
{ points =							
	[		{	x = 0.2;	y = 1;			},
			{	x = 0.4;	y = .25;		},
			{	x = 4;		y = 0.05;		},
			];}

PiecewiseLinearFloatToFloatMapping			ReadySetPop
{ points =							
	[		{								},
			{	x = 0.2;	y =  .1;		},
			{	x = 0.5;	y = 1;			},
			{	x = 0.8;	y =  .25;		},
			{	x = 4;		y = 0.05;		},
			];}

PiecewiseLinearFloatToFloatMapping			SlamItHardAndFadeAndSlowlyBuildBack
{ points =							
	[		{	x = 0.1;	y = 1;			},
			{	x = 0.25;	y = 0.1;		},
			{	x = 0.5;	y = 0.05;		},
			{	x = 1.5;	y = 0.4;		},
			{	x = 2.0;	y = 1;			},
			];}

PiecewiseLinearFloatToFloatMapping			SlowStartButBuildsUp
{ points =							
	[		{	x = 0.3;	y = .2;			},
			{	x = 1;		y =  1;			},
			];}




////////////////////////////////////////////////////////////////////////// "NOSEUP" MODELS //////////////////

*PiecewiseLinearFloatToFloatMapping			assymetricAirborneNoseRotation
{ points =[
		{	x = -50;	y = 500;			},
		{	x = 10;		y = -500;			},
		];}

////////////////////////////////////////////////////////////////////////// "SIX O'CLOCK" MODELS //////////////////


PiecewiseLinearFloatToFloatMapping			highSixOClock
{points =	[
			{	x = -180;	y =    0;		},
			{	x = -120;	y =  250;		},
			{	x =  -60;	y =  100;		},
			{	x =  -30;	y =   50;		},
			{	x =    0;	y =    0;		},
			{	x =   30;	y =   50;		},
			{	x =   60;	y =  100;		},
			{	x =  120;	y =  250;		},
			{	x =  180;	y =    0;		},
			];}
PiecewiseLinearFloatToFloatMapping			HalfPipe
{points =	[
			{	x = -180;	y =    0;		},
			{	x = -165;	y =  600;		},
			{	x =  -90;	y =  350;		},
			{	x =  -75;	y =  200;		},
			{	x =  -60;	y =   50;		},
			{	x =    0;	y =    0;		},
			{	x =   60;	y =   50;		},
			{	x =   75;	y =  200;		},
			{	x =   90;	y =  350;		},
			{	x =  165;	y =  600;		},
			{	x =  180;	y =    0;		},
			];}
PiecewiseLinearFloatToFloatMapping			VeryStrictHalfPipe
{points =	[
			{	x = -180;	y =    0;		},
			{	x = -175;	y =  999;		},
			{	x = -100;	y =  500;		},
			{	x =  -75;	y =  200;		},
			{	x =  -60;	y =   50;		},
			{	x =    0;	y =    0;		},
			{	x =   60;	y =   50;		},
			{	x =   75;	y =  200;		},
			{	x =  100;	y =  500;		},
			{	x =  175;	y =  999;		},
			{	x =  180;	y =    0;		},
			];}
PiecewiseLinearFloatToFloatMapping			LessThanHalfPipe
{points =	[
			{	x =  -70;	y =  350;		},
			{	x =  -55;	y =  200;		},
			{	x =  -30;	y =   50;		},
			{	x =    0;	y =    0;		},
			{	x =   30;	y =   50;		},
			{	x =   55;	y =  200;		},
			{	x =   70;	y =  350;		},
			];}
PiecewiseLinearFloatToFloatMapping			tightSixOClock
{points =	[
			{	x = -180;	y =    0;		},
			{	x = -120;	y =  350;		},
			{	x =  -60;	y =  200;		},
			{	x =  -20;	y =   80;		},
			{	x =    0;	y =    0;		},
			{	x =   20;	y =   90;		},
			{	x =   60;	y =  200;		},
			{	x =  120;	y =  350;		},
			{	x =  180;	y =    0;		},
			];}






PiecewiseLinearFloatToFloatMapping noEffect			{  points =	[ { x = 0;	y = 0.5;},	];}
PiecewiseLinearFloatToFloatMapping turnedOff		{  points =	[ {	x = 0;	y = 0;	},  ];}

