package java.game.vehicles.Ford_Mustang_GT_2005;

import java.game.*;
import java.game.parts.*;
import java.util.*;
import java.util.resource.*;

public class Ford_Mustang_GT_2005_chassis extends Chassis
{
	public static Vector tuni;
	public Vector getTuningStageItems(){ return tuni; }

	static	Vector	decals;

	public Vector getDecals()
	{
		return decals;
	}

	public Ford_Mustang_GT_2005_chassis ( int id )
	{
		super( id );

		if( !tuni )
		{
			tuni = new Vector();
			// body //
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 999,   vehicles.Ford_Mustang_GT_2005:0x00000030r, vehicles.Ford_Mustang_GT_2005:0x00000030r, vehicles.Ford_Mustang_GT_2005:0x00000030r, vehicles.Ford_Mustang_GT_2005:0x00000030r ) ); // "Steering wheel"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 1000,  vehicles.Ford_Mustang_GT_2005:0x00000011r, vehicles.Ford_Mustang_GT_2005:0x0000009Dr, vehicles.Ford_Mustang_GT_2005:0x0000009Dr, vehicles.Ford_Mustang_GT_2005:0x0000009Dr ) ); // "Front bumper"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 601,   vehicles.Ford_Mustang_GT_2005:0x00000015r, vehicles.Ford_Mustang_GT_2005:0x00000015r, vehicles.Ford_Mustang_GT_2005:0x00000015r, vehicles.Ford_Mustang_GT_2005:0x0000009Fr ) ); // "Hood"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 1002,  vehicles.Ford_Mustang_GT_2005:0x0000000Dr, vehicles.Ford_Mustang_GT_2005:0x0000000Dr, vehicles.Ford_Mustang_GT_2005:0x0000000Dr, vehicles.Ford_Mustang_GT_2005:0x0000000Dr ) ); // "Front left door"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 1003,  vehicles.Ford_Mustang_GT_2005:0x0000001Br, vehicles.Ford_Mustang_GT_2005:0x0000001Br, vehicles.Ford_Mustang_GT_2005:0x0000001Br, vehicles.Ford_Mustang_GT_2005:0x0000001Br ) ); // "Front right door"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 1001,  vehicles.Ford_Mustang_GT_2005:0x00000018r, vehicles.Ford_Mustang_GT_2005:0x0000009Er, vehicles.Ford_Mustang_GT_2005:0x0000009Er, vehicles.Ford_Mustang_GT_2005:0x0000009Er ) ); // "Rear bumper"
			tuni.addElement( new TuningStageItem( Tuning.TT_BODY, 1004,  0,                             0,                             vehicles.Ford_Mustang_GT_2005:0x000000A0r, vehicles.Ford_Mustang_GT_2005:0x000000A0r ) ); // "Rear wing"
			// tyres //
			tuni.addElement( new TuningStageItem( Tuning.TT_TYRE, 101,   vehicles.Ford_Mustang_GT_2005:0x00000053r, /*   tarmac */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000062r, /* off-road */
			                                                             vehicles.Ford_Mustang_GT_2005:0x0000006Cr, /*     sand */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000076r, /*   rubble */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000080r  /*   winter */ ) );
			tuni.addElement( new TuningStageItem( Tuning.TT_TYRE, 102,   vehicles.Ford_Mustang_GT_2005:0x00000053r, /*   tarmac */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000062r, /* off-road */
			                                                             vehicles.Ford_Mustang_GT_2005:0x0000006Cr, /*     sand */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000076r, /*   rubble */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000080r  /*   winter */ ) );
			tuni.addElement( new TuningStageItem( Tuning.TT_TYRE, 103,   vehicles.Ford_Mustang_GT_2005:0x00000059r, /*   tarmac */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000063r, /* off-road */
			                                                             vehicles.Ford_Mustang_GT_2005:0x0000006Dr, /*     sand */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000077r, /*   rubble */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000081r  /*   winter */ ) );
			tuni.addElement( new TuningStageItem( Tuning.TT_TYRE, 104,   vehicles.Ford_Mustang_GT_2005:0x00000059r, /*   tarmac */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000063r, /* off-road */
			                                                             vehicles.Ford_Mustang_GT_2005:0x0000006Dr, /*     sand */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000077r, /*   rubble */
			                                                             vehicles.Ford_Mustang_GT_2005:0x00000081r  /*   winter */ ) );
		}
		carCategory = PACKAGE;

// steering wheel //
		setSteerWheel(366.0*MM2METER/2.0 - 30.0*MM2METER, 10.0*MM2METER);
// end of steering wheel //

		if ( !decals )
		{
			decals = new Vector();
// decals //
			decals.addElement ( new PartDecal ( 10, PartDecal.DT_2DIGIT_B	,  0.00000,  0.99679,  0.00125,  0.00000,  0.00000,  0.00250 ) );
			decals.addElement ( new PartDecal ( 10, PartDecal.DT_2DIGIT_B	,  0.00223,  1.00293,  0.00000,  0.00125, -0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal ( 10, PartDecal.DT_2DIGIT_B	, -0.00223,  0.99902,  0.00000, -0.00125,  0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal ( 10, PartDecal.DT_2DIGIT_B	, -0.05274,  0.74551,  0.02500,  0.00000,  0.00000,  0.05000 ) );
			decals.addElement ( new PartDecal ( 10, PartDecal.DT_2DIGIT_B	, -0.00098,  0.99930, -0.00125,  0.00000,  0.00000, -0.00250 ) );
			decals.addElement ( new PartDecal (  9, PartDecal.DT_2DIGIT_A	, -0.00125,  0.99679,  0.00125,  0.00000,  0.00000,  0.00250 ) );
			decals.addElement ( new PartDecal (  9, PartDecal.DT_2DIGIT_A	,  0.00223,  1.00168,  0.00000,  0.00125, -0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal (  9, PartDecal.DT_2DIGIT_A	, -0.00223,  1.00027,  0.00000, -0.00125,  0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal (  9, PartDecal.DT_2DIGIT_A	, -0.07774,  0.74551,  0.02500,  0.00000,  0.00000,  0.05000 ) );
			decals.addElement ( new PartDecal (  9, PartDecal.DT_2DIGIT_A	,  0.00027,  0.99930, -0.00125,  0.00000,  0.00000, -0.00250 ) );
			decals.addElement ( new PartDecal (  8, PartDecal.DT_1DIGIT	, -0.00063,  0.99679,  0.00125,  0.00000,  0.00000,  0.00250 ) );
			decals.addElement ( new PartDecal (  8, PartDecal.DT_1DIGIT	,  0.00223,  1.00230,  0.00000,  0.00125, -0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal (  8, PartDecal.DT_1DIGIT	, -0.00223,  0.99965,  0.00000, -0.00125,  0.00250,  0.00000 ) );
			decals.addElement ( new PartDecal (  8, PartDecal.DT_1DIGIT	, -0.06524,  0.74551,  0.02500,  0.00000,  0.00000,  0.05000 ) );
			decals.addElement ( new PartDecal (  8, PartDecal.DT_1DIGIT	, -0.00036,  0.99930, -0.00125,  0.00000,  0.00000, -0.00250 ) );
			decals.addElement ( new PartDecal (  7, PartDecal.DT_DIGIT_PLATE, -0.00250,  0.99554,  0.00500,  0.00000,  0.00000,  0.00500 ) );
			decals.addElement ( new PartDecal (  7, PartDecal.DT_DIGIT_PLATE,  0.00348,  1.00043,  0.00000,  0.00500, -0.00500,  0.00000 ) );
			decals.addElement ( new PartDecal (  7, PartDecal.DT_DIGIT_PLATE, -0.00348,  1.00152,  0.00000, -0.00500,  0.00500,  0.00000 ) );
			decals.addElement ( new PartDecal (  7, PartDecal.DT_DIGIT_PLATE, -0.10274,  0.72051,  0.10000,  0.00000,  0.00000,  0.10000 ) );
			decals.addElement ( new PartDecal (  7, PartDecal.DT_DIGIT_PLATE,  0.00152,  1.00055, -0.00500,  0.00000,  0.00000, -0.00500 ) );
			decals.addElement ( new PartDecal (  6, PartDecal.DT_DECAL	, -0.00250,  1.00402,  0.00000, -0.01000,  0.00500,  0.00000 ) );
			decals.addElement ( new PartDecal (  5, PartDecal.DT_DECAL	, -0.00025,  1.00359, -0.00559, -0.00829,  0.00415, -0.00280 ) );
			decals.addElement ( new PartDecal (  5, PartDecal.DT_DECAL	,  0.00264,  0.99533, -0.00125,  0.01193, -0.00597, -0.00063 ) );
			decals.addElement ( new PartDecal (  4, PartDecal.DT_DECAL	, -0.00400,  1.00685,  0.00326, -0.00946,  0.00473,  0.00163 ) );
			decals.addElement ( new PartDecal (  3, PartDecal.DT_DECAL	,  0.00655,  0.99859, -0.00857,  0.00515, -0.00258, -0.00429 ) );
			decals.addElement ( new PartDecal (  3, PartDecal.DT_DECAL	,  0.00187,  0.99083,  0.00122,  0.00993, -0.00496,  0.00061 ) );
			decals.addElement ( new PartDecal (  2, PartDecal.DT_DECAL	,  0.00250,  0.99207,  0.00000,  0.01000, -0.00500,  0.00000 ) );
			decals.addElement ( new PartDecal (  1, PartDecal.DT_DECAL	,  0.00566,  1.00419, -0.00927, -0.00375,  0.00187, -0.00464 ) );
			decals.addElement ( new PartDecal (  1, PartDecal.DT_DECAL	,  0.00153,  0.99500,  0.00000,  0.01000, -0.00500,  0.00000 ) );
			decals.addElement ( new PartDecal (  0, PartDecal.DT_DECAL	,  0.00317,  1.00145, -0.01000,  0.00000,  0.00000, -0.00500 ) );
			decals.addElement ( new PartDecal (  0, PartDecal.DT_DECAL	, -0.00384,  1.00576,  0.00545, -0.00839,  0.00419,  0.00272 ) );
			decals.addElement ( new PartDecal (  0, PartDecal.DT_DECAL	,  0.00153,  0.99403,  0.00000,  0.01000, -0.00500,  0.00000 ) );
// end of decals //
		}
	}

	int[] SPdReb = { 0, 0, 0, 0 };

	public void updateSuspension_UpdateSpringsAndWheels(float Custom0, float Custom1)
	{
		super.updateSuspension_UpdateSpringsAndWheels(Custom0, Custom1);

		WheelRef whl;

		float SPdamp_F = SPdamp[ WH_FRONT+TS_MIN ] + (SPdamp[ WH_FRONT+TS_MAX ]-SPdamp[ WH_FRONT+TS_MIN ])*Custom1;
		float SPdReb_F = SPdReb[ WH_FRONT+TS_MIN ] + (SPdReb[ WH_FRONT+TS_MAX ]-SPdReb[ WH_FRONT+TS_MIN ])*Custom1;
		float SPdamp_R = SPdamp[  WH_REAR+TS_MIN ] + (SPdamp[  WH_REAR+TS_MAX ]-SPdamp[  WH_REAR+TS_MIN ])*Custom1;
		float SPdReb_R = SPdReb[  WH_REAR+TS_MIN ] + (SPdReb[  WH_REAR+TS_MAX ]-SPdReb[  WH_REAR+TS_MIN ])*Custom1;

		whl = getWheel(0);	if (whl)	whl.setDamping( SPdamp_F, SPdReb_F );
		whl = getWheel(1);	if (whl)	whl.setDamping( SPdamp_F, SPdReb_F );
		whl = getWheel(2);	if (whl)	whl.setDamping( SPdamp_R, SPdReb_R );
		whl = getWheel(3);	if (whl)	whl.setDamping( SPdamp_R, SPdReb_R );
	}

// updateSuspension //
	public void updateSuspension(int Stage, float Custom0, float Custom1)
	{
		updateSuspension_RemoveAntiRollBars();

		switch (Stage)
		{
			case 3:  // 5 presets (0.00 0.25 0.50 0.75 1.00) adjustable //
				// --- front stuffs min->max --- //
				SPforc[ WH_FRONT+TS_MIN ] = 30365;	SPforc[ WH_FRONT+TS_MAX ] = SPforc[ WH_FRONT+TS_MIN ];
				SPdamp[ WH_FRONT+TS_MIN ] = 3824;	SPdamp[ WH_FRONT+TS_MAX ] = SPdamp[ WH_FRONT+TS_MIN ];
				SPdReb[ WH_FRONT+TS_MIN ] = 3374;	SPdReb[ WH_FRONT+TS_MAX ] = SPdReb[ WH_FRONT+TS_MIN ];
				SPrest[ WH_FRONT+TS_MIN ] = 28.0;	SPrest[ WH_FRONT+TS_MAX ] = SPrest[ WH_FRONT+TS_MIN ];
				SPminl[ WH_FRONT+TS_MIN ] = 20.5;	SPminl[ WH_FRONT+TS_MAX ] = SPminl[ WH_FRONT+TS_MIN ];
				SPmaxl[ WH_FRONT+TS_MIN ] = 26.5;	SPmaxl[ WH_FRONT+TS_MAX ] = SPmaxl[ WH_FRONT+TS_MIN ];

				RBforc[ WH_FRONT+TS_MIN ] = 14957;	RBforc[ WH_FRONT+TS_MAX ] = RBforc[ WH_FRONT+TS_MIN ];
				RBdamp[ WH_FRONT+TS_MIN ] = 374;	RBdamp[ WH_FRONT+TS_MAX ] = RBdamp[ WH_FRONT+TS_MIN ];

				WHcamb[ WH_FRONT+TS_MIN ] = 3.0;	WHcamb[ WH_FRONT+TS_MAX ] = WHcamb[ WH_FRONT+TS_MIN ];
				WHtoea[ WH_FRONT+TS_MIN ] = -0.2;	WHtoea[ WH_FRONT+TS_MAX ] = WHtoea[ WH_FRONT+TS_MIN ];
				WHtrak[ WH_FRONT+TS_MIN ] = 1.5;	WHtrak[ WH_FRONT+TS_MAX ] = WHtrak[ WH_FRONT+TS_MIN ];

				// --- rear stuffs min->max --- //
				SPforc[  WH_REAR+TS_MIN ] = 48097;	SPforc[  WH_REAR+TS_MAX ] = SPforc[  WH_REAR+TS_MIN ];
				SPdamp[  WH_REAR+TS_MIN ] = 6057;	SPdamp[  WH_REAR+TS_MAX ] = SPdamp[  WH_REAR+TS_MIN ];
				SPdReb[  WH_REAR+TS_MIN ] = 5344;	SPdReb[  WH_REAR+TS_MAX ] = SPdReb[  WH_REAR+TS_MIN ];
				SPrest[  WH_REAR+TS_MIN ] = 28.0;	SPrest[  WH_REAR+TS_MAX ] = SPrest[  WH_REAR+TS_MIN ];
				SPminl[  WH_REAR+TS_MIN ] = 20.5;	SPminl[  WH_REAR+TS_MAX ] = SPminl[  WH_REAR+TS_MIN ];
				SPmaxl[  WH_REAR+TS_MIN ] = 26.5;	SPmaxl[  WH_REAR+TS_MAX ] = SPmaxl[  WH_REAR+TS_MIN ];

				RBforc[  WH_REAR+TS_MIN ] = 23692;	RBforc[  WH_REAR+TS_MAX ] = RBforc[  WH_REAR+TS_MIN ];
				RBdamp[  WH_REAR+TS_MIN ] = 592;	RBdamp[  WH_REAR+TS_MAX ] = RBdamp[  WH_REAR+TS_MIN ];

				WHcamb[  WH_REAR+TS_MIN ] = 2.5;	WHcamb[  WH_REAR+TS_MAX ] = WHcamb[  WH_REAR+TS_MIN ];
				WHtoea[  WH_REAR+TS_MIN ] = 0.2;	WHtoea[  WH_REAR+TS_MAX ] = WHtoea[  WH_REAR+TS_MIN ];
				WHtrak[  WH_REAR+TS_MIN ] = 1.5;	WHtrak[  WH_REAR+TS_MAX ] = WHtrak[  WH_REAR+TS_MIN ];
				break;
			case 2:  // 5 presets (0.00 0.25 0.50 0.75 1.00) unadjustable //
				// --- front stuffs min->max --- //
				SPforc[ WH_FRONT+TS_MIN ] = 20243;	SPforc[ WH_FRONT+TS_MAX ] = SPforc[ WH_FRONT+TS_MIN ];
				SPdamp[ WH_FRONT+TS_MIN ] = 3374;	SPdamp[ WH_FRONT+TS_MAX ] = SPdamp[ WH_FRONT+TS_MIN ];
				SPdReb[ WH_FRONT+TS_MIN ] = 4498;	SPdReb[ WH_FRONT+TS_MAX ] = SPdReb[ WH_FRONT+TS_MIN ];
				SPrest[ WH_FRONT+TS_MIN ] = 31.0;	SPrest[ WH_FRONT+TS_MAX ] = SPrest[ WH_FRONT+TS_MIN ];
				SPminl[ WH_FRONT+TS_MIN ] = 21.5;	SPminl[ WH_FRONT+TS_MAX ] = SPminl[ WH_FRONT+TS_MIN ];
				SPmaxl[ WH_FRONT+TS_MIN ] = 26.5;	SPmaxl[ WH_FRONT+TS_MAX ] = SPmaxl[ WH_FRONT+TS_MIN ];

				RBforc[ WH_FRONT+TS_MIN ] = 4498;	RBforc[ WH_FRONT+TS_MAX ] = RBforc[ WH_FRONT+TS_MIN ];
				RBdamp[ WH_FRONT+TS_MIN ] = 450;	RBdamp[ WH_FRONT+TS_MAX ] = RBdamp[ WH_FRONT+TS_MIN ];

				WHcamb[ WH_FRONT+TS_MIN ] = 4.0;	WHcamb[ WH_FRONT+TS_MAX ] = WHcamb[ WH_FRONT+TS_MIN ];
				WHtoea[ WH_FRONT+TS_MIN ] = -0.2;	WHtoea[ WH_FRONT+TS_MAX ] = WHtoea[ WH_FRONT+TS_MIN ];
				WHtrak[ WH_FRONT+TS_MIN ] = 3.0;	WHtrak[ WH_FRONT+TS_MAX ] = WHtrak[ WH_FRONT+TS_MIN ];

				// --- rear stuffs min->max --- //
				SPforc[  WH_REAR+TS_MIN ] = 32065;	SPforc[  WH_REAR+TS_MAX ] = SPforc[  WH_REAR+TS_MIN ];
				SPdamp[  WH_REAR+TS_MIN ] = 5344;	SPdamp[  WH_REAR+TS_MAX ] = SPdamp[  WH_REAR+TS_MIN ];
				SPdReb[  WH_REAR+TS_MIN ] = 7126;	SPdReb[  WH_REAR+TS_MAX ] = SPdReb[  WH_REAR+TS_MIN ];
				SPrest[  WH_REAR+TS_MIN ] = 31.0;	SPrest[  WH_REAR+TS_MAX ] = SPrest[  WH_REAR+TS_MIN ];
				SPminl[  WH_REAR+TS_MIN ] = 21.5;	SPminl[  WH_REAR+TS_MAX ] = SPminl[  WH_REAR+TS_MIN ];
				SPmaxl[  WH_REAR+TS_MIN ] = 26.5;	SPmaxl[  WH_REAR+TS_MAX ] = SPmaxl[  WH_REAR+TS_MIN ];

				RBforc[  WH_REAR+TS_MIN ] = 7126;	RBforc[  WH_REAR+TS_MAX ] = RBforc[  WH_REAR+TS_MIN ];
				RBdamp[  WH_REAR+TS_MIN ] = 713;	RBdamp[  WH_REAR+TS_MAX ] = RBdamp[  WH_REAR+TS_MIN ];

				WHcamb[  WH_REAR+TS_MIN ] = 1.0;	WHcamb[  WH_REAR+TS_MAX ] = WHcamb[  WH_REAR+TS_MIN ];
				WHtoea[  WH_REAR+TS_MIN ] = 0.2;	WHtoea[  WH_REAR+TS_MAX ] = WHtoea[  WH_REAR+TS_MIN ];
				WHtrak[  WH_REAR+TS_MIN ] = 3.0;	WHtrak[  WH_REAR+TS_MAX ] = WHtrak[  WH_REAR+TS_MIN ];
				break;
			case 1:  // 3 presets (0.00      0.50      1.00) unadjustable //
				// --- front stuffs min->max --- //
				SPforc[ WH_FRONT+TS_MIN ] = 20243;	SPforc[ WH_FRONT+TS_MAX ] = SPforc[ WH_FRONT+TS_MIN ];
				SPdamp[ WH_FRONT+TS_MIN ] = 3374;	SPdamp[ WH_FRONT+TS_MAX ] = SPdamp[ WH_FRONT+TS_MIN ];
				SPdReb[ WH_FRONT+TS_MIN ] = 4498;	SPdReb[ WH_FRONT+TS_MAX ] = SPdReb[ WH_FRONT+TS_MIN ];
				SPrest[ WH_FRONT+TS_MIN ] = 31.0;	SPrest[ WH_FRONT+TS_MAX ] = SPrest[ WH_FRONT+TS_MIN ];
				SPminl[ WH_FRONT+TS_MIN ] = 21.5;	SPminl[ WH_FRONT+TS_MAX ] = SPminl[ WH_FRONT+TS_MIN ];
				SPmaxl[ WH_FRONT+TS_MIN ] = 26.5;	SPmaxl[ WH_FRONT+TS_MAX ] = SPmaxl[ WH_FRONT+TS_MIN ];

				RBforc[ WH_FRONT+TS_MIN ] = 4498;	RBforc[ WH_FRONT+TS_MAX ] = RBforc[ WH_FRONT+TS_MIN ];
				RBdamp[ WH_FRONT+TS_MIN ] = 450;	RBdamp[ WH_FRONT+TS_MAX ] = RBdamp[ WH_FRONT+TS_MIN ];

				WHcamb[ WH_FRONT+TS_MIN ] = 3.0;	WHcamb[ WH_FRONT+TS_MAX ] = WHcamb[ WH_FRONT+TS_MIN ];
				WHtoea[ WH_FRONT+TS_MIN ] = 0.0;	WHtoea[ WH_FRONT+TS_MAX ] = WHtoea[ WH_FRONT+TS_MIN ];
				WHtrak[ WH_FRONT+TS_MIN ] = 1.5;	WHtrak[ WH_FRONT+TS_MAX ] = WHtrak[ WH_FRONT+TS_MIN ];

				// --- rear stuffs min->max --- //
				SPforc[  WH_REAR+TS_MIN ] = 32065;	SPforc[  WH_REAR+TS_MAX ] = SPforc[  WH_REAR+TS_MIN ];
				SPdamp[  WH_REAR+TS_MIN ] = 5344;	SPdamp[  WH_REAR+TS_MAX ] = SPdamp[  WH_REAR+TS_MIN ];
				SPdReb[  WH_REAR+TS_MIN ] = 7126;	SPdReb[  WH_REAR+TS_MAX ] = SPdReb[  WH_REAR+TS_MIN ];
				SPrest[  WH_REAR+TS_MIN ] = 31.0;	SPrest[  WH_REAR+TS_MAX ] = SPrest[  WH_REAR+TS_MIN ];
				SPminl[  WH_REAR+TS_MIN ] = 21.5;	SPminl[  WH_REAR+TS_MAX ] = SPminl[  WH_REAR+TS_MIN ];
				SPmaxl[  WH_REAR+TS_MIN ] = 26.5;	SPmaxl[  WH_REAR+TS_MAX ] = SPmaxl[  WH_REAR+TS_MIN ];

				RBforc[  WH_REAR+TS_MIN ] = 7126;	RBforc[  WH_REAR+TS_MAX ] = RBforc[  WH_REAR+TS_MIN ];
				RBdamp[  WH_REAR+TS_MIN ] = 713;	RBdamp[  WH_REAR+TS_MAX ] = RBdamp[  WH_REAR+TS_MIN ];

				WHcamb[  WH_REAR+TS_MIN ] = 0.0;	WHcamb[  WH_REAR+TS_MAX ] = WHcamb[  WH_REAR+TS_MIN ];
				WHtoea[  WH_REAR+TS_MIN ] = 0.0;	WHtoea[  WH_REAR+TS_MAX ] = WHtoea[  WH_REAR+TS_MIN ];
				WHtrak[  WH_REAR+TS_MIN ] = 1.5;	WHtrak[  WH_REAR+TS_MAX ] = WHtrak[  WH_REAR+TS_MIN ];
				break;
			default: // unadjustable //
				// --- front stuffs min->max --- //
				SPforc[ WH_FRONT+TS_MIN ] = 20243;	SPforc[ WH_FRONT+TS_MAX ] = SPforc[ WH_FRONT+TS_MIN ];
				SPdamp[ WH_FRONT+TS_MIN ] = 3374;	SPdamp[ WH_FRONT+TS_MAX ] = SPdamp[ WH_FRONT+TS_MIN ];
				SPdReb[ WH_FRONT+TS_MIN ] = 4498;	SPdReb[ WH_FRONT+TS_MAX ] = SPdReb[ WH_FRONT+TS_MIN ];
				SPrest[ WH_FRONT+TS_MIN ] = 31.0;	SPrest[ WH_FRONT+TS_MAX ] = SPrest[ WH_FRONT+TS_MIN ];
				SPminl[ WH_FRONT+TS_MIN ] = 21.5;	SPminl[ WH_FRONT+TS_MAX ] = SPminl[ WH_FRONT+TS_MIN ];
				SPmaxl[ WH_FRONT+TS_MIN ] = 26.5;	SPmaxl[ WH_FRONT+TS_MAX ] = SPmaxl[ WH_FRONT+TS_MIN ];

				RBforc[ WH_FRONT+TS_MIN ] = 4498;	RBforc[ WH_FRONT+TS_MAX ] = RBforc[ WH_FRONT+TS_MIN ];
				RBdamp[ WH_FRONT+TS_MIN ] = 450;	RBdamp[ WH_FRONT+TS_MAX ] = RBdamp[ WH_FRONT+TS_MIN ];

				WHcamb[ WH_FRONT+TS_MIN ] = 0.0;	WHcamb[ WH_FRONT+TS_MAX ] = WHcamb[ WH_FRONT+TS_MIN ];
				WHtoea[ WH_FRONT+TS_MIN ] = 0.0;	WHtoea[ WH_FRONT+TS_MAX ] = WHtoea[ WH_FRONT+TS_MIN ];
				WHtrak[ WH_FRONT+TS_MIN ] = 0.0;	WHtrak[ WH_FRONT+TS_MAX ] = WHtrak[ WH_FRONT+TS_MIN ];

				// --- rear stuffs min->max --- //
				SPforc[  WH_REAR+TS_MIN ] = 32065;	SPforc[  WH_REAR+TS_MAX ] = SPforc[  WH_REAR+TS_MIN ];
				SPdamp[  WH_REAR+TS_MIN ] = 5344;	SPdamp[  WH_REAR+TS_MAX ] = SPdamp[  WH_REAR+TS_MIN ];
				SPdReb[  WH_REAR+TS_MIN ] = 7126;	SPdReb[  WH_REAR+TS_MAX ] = SPdReb[  WH_REAR+TS_MIN ];
				SPrest[  WH_REAR+TS_MIN ] = 31.0;	SPrest[  WH_REAR+TS_MAX ] = SPrest[  WH_REAR+TS_MIN ];
				SPminl[  WH_REAR+TS_MIN ] = 21.5;	SPminl[  WH_REAR+TS_MAX ] = SPminl[  WH_REAR+TS_MIN ];
				SPmaxl[  WH_REAR+TS_MIN ] = 26.5;	SPmaxl[  WH_REAR+TS_MAX ] = SPmaxl[  WH_REAR+TS_MIN ];

				RBforc[  WH_REAR+TS_MIN ] = 7126;	RBforc[  WH_REAR+TS_MAX ] = RBforc[  WH_REAR+TS_MIN ];
				RBdamp[  WH_REAR+TS_MIN ] = 713;	RBdamp[  WH_REAR+TS_MAX ] = RBdamp[  WH_REAR+TS_MIN ];

				WHcamb[  WH_REAR+TS_MIN ] = 0.0;	WHcamb[  WH_REAR+TS_MAX ] = WHcamb[  WH_REAR+TS_MIN ];
				WHtoea[  WH_REAR+TS_MIN ] = 0.0;	WHtoea[  WH_REAR+TS_MAX ] = WHtoea[  WH_REAR+TS_MIN ];
				WHtrak[  WH_REAR+TS_MIN ] = 0.0;	WHtrak[  WH_REAR+TS_MAX ] = WHtrak[  WH_REAR+TS_MIN ];
				break;
		}

		updateSuspension_UpdateSpringsAndWheels( Custom0, Custom1 );
		updateSuspension_AddAntiRollBars( Custom0, Custom1 );
	}
// end of updateSuspension //

// updateBrake //
	public void updateBrake(int Stage, float Custom0, float Custom1)
	{
		switch (Stage)
		{
			case 3:  // 5 presets (0.00 0.25 0.50 0.75 1.00) adjustable //
				DTbrak_F[TS_MIN] = 2200;	DTbrak_F[TS_MAX] = DTbrak_F[TS_MIN];
				DTbrak_R[TS_MIN] = 1800;	DTbrak_R[TS_MAX] = DTbrak_R[TS_MIN];
				DTbrak_Em = 1800;
				break;
			case 2:  // 5 presets (0.00 0.25 0.50 0.75 1.00) unadjustable //
				DTbrak_F[TS_MIN] = 2200;	DTbrak_F[TS_MAX] = DTbrak_F[TS_MIN];
				DTbrak_R[TS_MIN] = 1800;	DTbrak_R[TS_MAX] = DTbrak_R[TS_MIN];
				DTbrak_Em = 1800;
				break;
			case 1:  // 3 presets (0.00      0.50      1.00) unadjustable //
				DTbrak_F[TS_MIN] = 1000;	DTbrak_F[TS_MAX] = DTbrak_F[TS_MIN];
				DTbrak_R[TS_MIN] = 1000;	DTbrak_R[TS_MAX] = DTbrak_R[TS_MIN];
				DTbrak_Em = 1800;
				break;
			default: // unadjustable //
				DTbrak_F[TS_MIN] = 1500;	DTbrak_F[TS_MAX] = DTbrak_F[TS_MIN];
				DTbrak_R[TS_MIN] = 1400;	DTbrak_R[TS_MAX] = DTbrak_R[TS_MIN];
				DTbrak_Em = 1800;
				break;
		}

		super.updateBrake( Stage, Custom0, Custom1 );
	}
// end of updateBrake //

// updateTransmission //
	public void updateTransmission(int Stage, float Custom0, float Custom1)
	{
		switch (Stage)
		{
			case 3:  // 3 presets (0.00      0.50      1.00) adjustable //
				gears = 6;
				DTgear[TS_MIN*8+0] =  0.000; DTgear[TS_MAX*8+0] = DTgear[TS_MIN*8+0];
				DTgear[TS_MIN*8+1] =  3.820; DTgear[TS_MAX*8+1] = DTgear[TS_MIN*8+1];
				DTgear[TS_MIN*8+2] =  2.150; DTgear[TS_MAX*8+2] = DTgear[TS_MIN*8+2];
				DTgear[TS_MIN*8+3] =  1.560; DTgear[TS_MAX*8+3] = DTgear[TS_MIN*8+3];
				DTgear[TS_MIN*8+4] =  1.210; DTgear[TS_MAX*8+4] = DTgear[TS_MIN*8+4];
				DTgear[TS_MIN*8+5] =  0.970; DTgear[TS_MAX*8+5] = DTgear[TS_MIN*8+5];
				DTgear[TS_MIN*8+6] =  0.820; DTgear[TS_MAX*8+6] = DTgear[TS_MIN*8+6];
				DTgear[TS_MIN*8+7] = -3.600; DTgear[TS_MAX*8+7] = DTgear[TS_MIN*8+7];
				DTendr[TS_MIN]     =  3.440; DTendr[TS_MAX]     = DTendr[TS_MIN];
				setTransmissionTimes(0,0.100, 0.200, 1.000, 0.075, 0.200, 1.000);
				ClutchF = 1300.0;
				break;
			case 2:  // 3 presets (0.00      0.50      1.00) unadjustable //
				gears = 6;
				DTgear[TS_MIN*8+0] =  0.000; DTgear[TS_MAX*8+0] = DTgear[TS_MIN*8+0];
				DTgear[TS_MIN*8+1] =  3.820; DTgear[TS_MAX*8+1] = DTgear[TS_MIN*8+1];
				DTgear[TS_MIN*8+2] =  2.050; DTgear[TS_MAX*8+2] = DTgear[TS_MIN*8+2];
				DTgear[TS_MIN*8+3] =  1.410; DTgear[TS_MAX*8+3] = DTgear[TS_MIN*8+3];
				DTgear[TS_MIN*8+4] =  1.120; DTgear[TS_MAX*8+4] = DTgear[TS_MIN*8+4];
				DTgear[TS_MIN*8+5] =  0.920; DTgear[TS_MAX*8+5] = DTgear[TS_MIN*8+5];
				DTgear[TS_MIN*8+6] =  0.750; DTgear[TS_MAX*8+6] = DTgear[TS_MIN*8+6];
				DTgear[TS_MIN*8+7] = -3.630; DTgear[TS_MAX*8+7] = DTgear[TS_MIN*8+7];
				DTendr[TS_MIN]     =  3.440; DTendr[TS_MAX]     = DTendr[TS_MIN];
				setTransmissionTimes(0,0.100, 0.200, 1.000, 0.075, 0.200, 1.000);
				ClutchF = 1100.0;
				break;
			case 1:  // 2 presets (0.00                1.00) unadjustable //
				gears = 6;
				DTgear[TS_MIN*8+0] =  0.000; DTgear[TS_MAX*8+0] = DTgear[TS_MIN*8+0];
				DTgear[TS_MIN*8+1] =  3.820; DTgear[TS_MAX*8+1] = DTgear[TS_MIN*8+1];
				DTgear[TS_MIN*8+2] =  2.150; DTgear[TS_MAX*8+2] = DTgear[TS_MIN*8+2];
				DTgear[TS_MIN*8+3] =  1.560; DTgear[TS_MAX*8+3] = DTgear[TS_MIN*8+3];
				DTgear[TS_MIN*8+4] =  1.210; DTgear[TS_MAX*8+4] = DTgear[TS_MIN*8+4];
				DTgear[TS_MIN*8+5] =  0.970; DTgear[TS_MAX*8+5] = DTgear[TS_MIN*8+5];
				DTgear[TS_MIN*8+6] =  0.820; DTgear[TS_MAX*8+6] = DTgear[TS_MIN*8+6];
				DTgear[TS_MIN*8+7] = -3.630; DTgear[TS_MAX*8+7] = DTgear[TS_MIN*8+7];
				DTendr[TS_MIN]     =  3.440; DTendr[TS_MAX]     = DTendr[TS_MIN];
				setTransmissionTimes(0,0.100, 0.200, 1.000, 0.075, 0.200, 1.000);
				ClutchF = 1000.0;
				break;
			default: // unadjustable //
				gears = 5;
				DTgear[TS_MIN*8+0] =  0.000; DTgear[TS_MAX*8+0] = DTgear[TS_MIN*8+0];
				DTgear[TS_MIN*8+1] =  3.500; DTgear[TS_MAX*8+1] = DTgear[TS_MIN*8+1];
				DTgear[TS_MIN*8+2] =  2.300; DTgear[TS_MAX*8+2] = DTgear[TS_MIN*8+2];
				DTgear[TS_MIN*8+3] =  1.450; DTgear[TS_MAX*8+3] = DTgear[TS_MIN*8+3];
				DTgear[TS_MIN*8+4] =  1.100; DTgear[TS_MAX*8+4] = DTgear[TS_MIN*8+4];
				DTgear[TS_MIN*8+5] =  0.900; DTgear[TS_MAX*8+5] = DTgear[TS_MIN*8+5];
				DTgear[TS_MIN*8+6] =  0.000; DTgear[TS_MAX*8+6] = DTgear[TS_MIN*8+6];
				DTgear[TS_MIN*8+7] = -3.890; DTgear[TS_MAX*8+7] = DTgear[TS_MIN*8+7];
				DTendr[TS_MIN]     =  3.550; DTendr[TS_MAX]     = DTendr[TS_MIN];
				setTransmissionTimes(0,0.100, 0.200, 1.000, 0.075, 0.200, 1.000);
				ClutchF = 950.0;
				break;
		}

		Ford_Mustang_GT_2005_sounds.setTransmissionSounds( this, Stage );
		super.updateTransmission( Stage, Custom0, Custom1 );
	}
// end of updateTransmission //

// updateDrivetrain //
	public void updateDrivetrain(int Stage, float Custom0, float Custom1)
	{
		switch (Stage)
		{
			case 3:  // freely adjustable                    +10 preset diff.lock (0.00 0.11 0.22 0.33 0.44 0.55 0.66 0.77 0.88 1.00)  //
				DTdriv[TS_MIN] =  1.00;	DTdriv[TS_MAX] =  0.00;
				DTdiff[TS_MIN] =  0.00;	DTdiff[TS_MAX] =  0.35;
				break;
			case 2:  // 3 presets (0.00      0.50      1.00) + 3 preset diff.lock (0.00                   0.50                  1.00) //
				DTdriv[TS_MIN] =  1.00;	DTdriv[TS_MAX] =  0.00;
				DTdiff[TS_MIN] =  0.00;	DTdiff[TS_MAX] =  0.00;
				break;
			case 1:  // 2 presets (0.00                1.00) unadjustable //
				DTdriv[TS_MIN] =  0.00;	DTdriv[TS_MAX] =  0.00;
				DTdiff[TS_MIN] =  0.00;	DTdiff[TS_MAX] =  0.00;
				break;
			default: // unadjustable //
				DTdriv[TS_MIN] =  1.00;	DTdriv[TS_MAX] =  1.00;
				DTdiff[TS_MIN] =  0.00;	DTdiff[TS_MAX] =  0.00;
				break;
		}

		super.updateDrivetrain(Stage,Custom0,Custom1);
	}
// end of updateDrivetrain //

// updateEngine //
	public void updateEngine(int Stage, float Custom0, float Custom1)
	{
		dynodata.clear();

		float[]	tq;
		float	maxrpm;

		switch (Stage)
		{
			case 3:
				starter_torque = 80.0;
				engine_rpm_idle = 1000.0;
				RPM_limit = 7450.0;

				engine_friction_fwd = 0.00100000;
				engine_friction_rev = 0.00100000;
				engine_inertia = 0.500;

				{ float[] bt = { 25.000,  12.000,   0.750,   0.000 }; engineBrakeTorque = bt; };
				{ float[] cl = { 0.000, 110.000,  25.000,  3.000 }; throttleClosedLoss = cl; };

				// torque table //
				maxrpm = 7600.0;
				tq = new float[76];
				tq[0] = 0.0;
				tq[1] = 15.1;
				tq[2] = 30.2;
				tq[3] = 45.3;
				tq[4] = 60.4;
				tq[5] = 75.5;
				tq[6] = 89.2;
				tq[7] = 103.0;
				tq[8] = 116.0;
				tq[9] = 130.0;
				tq[10] = 141.0;
				tq[11] = 147.0;
				tq[12] = 152.0;
				tq[13] = 164.0;
				tq[14] = 171.0;
				tq[15] = 185.0;
				tq[16] = 189.0;
				tq[17] = 197.0;
				tq[18] = 212.0;
				tq[19] = 228.0;
				tq[20] = 244.0;
				tq[21] = 254.0;
				tq[22] = 265.0;
				tq[23] = 277.0;
				tq[24] = 288.0;
				tq[25] = 307.0;
				tq[26] = 329.0;
				tq[27] = 350.0;
				tq[28] = 371.0;
				tq[29] = 386.0;
				tq[30] = 400.0;
				tq[31] = 410.0;
				tq[32] = 421.0;
				tq[33] = 437.0;
				tq[34] = 459.0;
				tq[35] = 475.0;
				tq[36] = 486.0;
				tq[37] = 497.0;
				tq[38] = 512.0;
				tq[39] = 526.0;
				tq[40] = 542.0;
				tq[41] = 559.0;
				tq[42] = 570.0;
				tq[43] = 577.0;
				tq[44] = 587.0;
				tq[45] = 600.0;
				tq[46] = 610.0;
				tq[47] = 618.0;
				tq[48] = 624.0;
				tq[49] = 624.0;
				tq[50] = 623.0;
				tq[51] = 622.0;
				tq[52] = 620.0;
				tq[53] = 612.0;
				tq[54] = 609.0;
				tq[55] = 608.0;
				tq[56] = 606.0;
				tq[57] = 605.0;
				tq[58] = 604.0;
				tq[59] = 603.0;
				tq[60] = 603.0;
				tq[61] = 603.0;
				tq[62] = 603.0;
				tq[63] = 603.0;
				tq[64] = 603.0;
				tq[65] = 598.0;
				tq[66] = 598.0;
				tq[67] = 598.0;
				tq[68] = 598.0;
				tq[69] = 599.0;
				tq[70] = 598.0;
				tq[71] = 593.0;
				tq[72] = 589.0;
				tq[73] = 584.0;
				tq[74] = 567.0;
				tq[75] = 0.0;

				break;
			case 2:
				starter_torque = 80.0;
				engine_rpm_idle = 750.0;
				RPM_limit = 6600.0;

				engine_friction_fwd = 0.00100000;
				engine_friction_rev = 0.00100000;
				engine_inertia = 0.400;

				{ float[] bt = { 25.000,  12.000,   0.750,   0.000 }; engineBrakeTorque = bt; };
				{ float[] cl = { 0.000,  90.000,  25.000,  3.000 }; throttleClosedLoss = cl; };

				// torque table //
				maxrpm = 6700.0;
				tq = new float[67];
				tq[0] = 0.0;
				tq[1] = 12.0;
				tq[2] = 24.0;
				tq[3] = 36.0;
				tq[4] = 48.0;
				tq[5] = 60.0;
				tq[6] = 72.0;
				tq[7] = 84.0;
				tq[8] = 96.0;
				tq[9] = 108.0;
				tq[10] = 120.0;
				tq[11] = 132.0;
				tq[12] = 144.0;
				tq[13] = 156.0;
				tq[14] = 168.0;
				tq[15] = 180.0;
				tq[16] = 191.0;
				tq[17] = 203.0;
				tq[18] = 215.0;
				tq[19] = 229.0;
				tq[20] = 245.0;
				tq[21] = 261.0;
				tq[22] = 276.0;
				tq[23] = 287.0;
				tq[24] = 298.0;
				tq[25] = 308.0;
				tq[26] = 319.0;
				tq[27] = 325.0;
				tq[28] = 333.0;
				tq[29] = 350.0;
				tq[30] = 368.0;
				tq[31] = 385.0;
				tq[32] = 403.0;
				tq[33] = 424.0;
				tq[34] = 445.0;
				tq[35] = 466.0;
				tq[36] = 491.0;
				tq[37] = 518.0;
				tq[38] = 546.0;
				tq[39] = 574.0;
				tq[40] = 597.0;
				tq[41] = 618.0;
				tq[42] = 630.0;
				tq[43] = 637.0;
				tq[44] = 636.0;
				tq[45] = 626.0;
				tq[46] = 617.0;
				tq[47] = 606.0;
				tq[48] = 594.0;
				tq[49] = 582.0;
				tq[50] = 571.0;
				tq[51] = 559.0;
				tq[52] = 548.0;
				tq[53] = 537.0;
				tq[54] = 533.0;
				tq[55] = 529.0;
				tq[56] = 522.0;
				tq[57] = 514.0;
				tq[58] = 507.0;
				tq[59] = 498.0;
				tq[60] = 489.0;
				tq[61] = 477.0;
				tq[62] = 464.0;
				tq[63] = 434.0;
				tq[64] = 408.0;
				tq[65] = 399.0;
				tq[66] = 0.0;

				break;
			case 1:
				starter_torque = 60.0;
				engine_rpm_idle = 1000.0;
				RPM_limit = 7800.0;

				engine_friction_fwd = 0.00100000;
				engine_friction_rev = 0.00100000;
				engine_inertia = 0.300;

				{ float[] bt = { 25.000,  12.000,   0.750,   0.000 }; engineBrakeTorque = bt; };
				{ float[] cl = { 0.000, 150.000,  25.000,   0.000 }; throttleClosedLoss = cl; };

				// torque table //
				maxrpm = 8000.0;
				tq = new float[80];
				tq[0] = 0.0;
				tq[1] = 18.0;
				tq[2] = 36.0;
				tq[3] = 54.0;
				tq[4] = 72.0;
				tq[5] = 90.0;
				tq[6] = 108.0;
				tq[7] = 126.0;
				tq[8] = 144.0;
				tq[9] = 162.0;
				tq[10] = 167.0;
				tq[11] = 172.0;
				tq[12] = 176.0;
				tq[13] = 181.0;
				tq[14] = 186.0;
				tq[15] = 191.0;
				tq[16] = 195.0;
				tq[17] = 200.0;
				tq[18] = 205.0;
				tq[19] = 210.0;
				tq[20] = 214.0;
				tq[21] = 219.0;
				tq[22] = 224.0;
				tq[23] = 229.0;
				tq[24] = 232.0;
				tq[25] = 233.0;
				tq[26] = 231.0;
				tq[27] = 229.0;
				tq[28] = 236.0;
				tq[29] = 243.0;
				tq[30] = 251.0;
				tq[31] = 258.0;
				tq[32] = 266.0;
				tq[33] = 273.0;
				tq[34] = 275.0;
				tq[35] = 277.0;
				tq[36] = 277.0;
				tq[37] = 278.0;
				tq[38] = 279.0;
				tq[39] = 280.0;
				tq[40] = 282.0;
				tq[41] = 281.0;
				tq[42] = 279.0;
				tq[43] = 277.0;
				tq[44] = 275.0;
				tq[45] = 275.0;
				tq[46] = 279.0;
				tq[47] = 284.0;
				tq[48] = 289.0;
				tq[49] = 296.0;
				tq[50] = 303.0;
				tq[51] = 310.0;
				tq[52] = 315.0;
				tq[53] = 317.0;
				tq[54] = 316.0;
				tq[55] = 314.0;
				tq[56] = 310.0;
				tq[57] = 307.0;
				tq[58] = 303.0;
				tq[59] = 300.0;
				tq[60] = 298.0;
				tq[61] = 297.0;
				tq[62] = 298.0;
				tq[63] = 302.0;
				tq[64] = 305.0;
				tq[65] = 308.0;
				tq[66] = 311.0;
				tq[67] = 311.0;
				tq[68] = 309.0;
				tq[69] = 308.0;
				tq[70] = 307.0;
				tq[71] = 306.0;
				tq[72] = 305.0;
				tq[73] = 303.0;
				tq[74] = 301.0;
				tq[75] = 299.0;
				tq[76] = 294.0;
				tq[77] = 290.0;
				tq[78] = 285.0;
				tq[79] = 0.0;

				break;
			default:
				starter_torque = 50.0;
				engine_rpm_idle = 1000.0;
				RPM_limit = 6100.0;

				engine_friction_fwd = 0.00100000;
				engine_friction_rev = 0.00100000;
				engine_inertia = 0.330;

				{ float[] bt = { 25.000,  12.000,   0.750,   0.000 }; engineBrakeTorque = bt; };
				{ float[] cl = { 0.000, 150.000,  25.000,   0.000 }; throttleClosedLoss = cl; };

				// torque table //
				maxrpm = 6200.0;
				tq = new float[62];
				tq[0] = 0.0;
				tq[1] = 22.2;
				tq[2] = 44.4;
				tq[3] = 66.7;
				tq[4] = 88.9;
				tq[5] = 111.0;
				tq[6] = 133.0;
				tq[7] = 156.0;
				tq[8] = 178.0;
				tq[9] = 200.0;
				tq[10] = 273.0;
				tq[11] = 345.0;
				tq[12] = 348.0;
				tq[13] = 350.0;
				tq[14] = 353.0;
				tq[15] = 355.0;
				tq[16] = 358.0;
				tq[17] = 360.0;
				tq[18] = 363.0;
				tq[19] = 365.0;
				tq[20] = 368.0;
				tq[21] = 370.0;
				tq[22] = 373.0;
				tq[23] = 375.0;
				tq[24] = 378.0;
				tq[25] = 380.0;
				tq[26] = 383.0;
				tq[27] = 385.0;
				tq[28] = 388.0;
				tq[29] = 390.0;
				tq[30] = 393.0;
				tq[31] = 395.0;
				tq[32] = 398.0;
				tq[33] = 400.0;
				tq[34] = 405.0;
				tq[35] = 410.0;
				tq[36] = 413.0;
				tq[37] = 415.0;
				tq[38] = 418.0;
				tq[39] = 420.0;
				tq[40] = 423.0;
				tq[41] = 425.0;
				tq[42] = 428.0;
				tq[43] = 430.0;
				tq[44] = 432.0;
				tq[45] = 434.0;
				tq[46] = 432.0;
				tq[47] = 430.0;
				tq[48] = 425.0;
				tq[49] = 420.0;
				tq[50] = 415.0;
				tq[51] = 410.0;
				tq[52] = 405.0;
				tq[53] = 400.0;
				tq[54] = 395.0;
				tq[55] = 390.0;
				tq[56] = 384.0;
				tq[57] = 378.0;
				tq[58] = 339.0;
				tq[59] = 300.0;
				tq[60] = 150.0;
				tq[61] = 0.0;

				break;
		}

		Ford_Mustang_GT_2005_sounds.setEngineSounds( this, Stage );
		dynodata.setTorques(0, maxrpm, tq);
		setEngineLosses();
	}
// end of updateEngine //
}
