DiRT 3 Complete Edition Guide

Creating a Thrustmaster TX/458 profile for DiRT 3 Complete Edition

Creating a Thrustmaster TX/458 profile

Overview

Add a preset profile in-game for a Thrustmaster 458 Italia or any other unsupported wheel, and get rid of the need for the keyboard to navigate menus.

Detailed Information

To eliminate the need to use the keyboard in game, I created a profile for the Thrustmaster 458 Italia which will allow full functionality in menus and replays and add the wheel as a preset option. To make things easier and to modify as few files as possible, I have used the .xml file for the TM Ferrari 430 since it is the most similar to the 458 layout. If you have a different wheel attached to the TX base, you may need to make some small modifications.

If you don’t need to make any custom changes, and have the original 458 with the 2 pedal set, skip down to the section showing what you will need to copy and paste.

The device name in Windows Game Controllers menu is Thrustmaster TX Racing Wheel, which is case sensitive. Buttons in the .xml file are labeled as follows (notice it is the windows button assignments subtracted by 1):

0 = Left Paddle
1 = Right Paddle
2 = Y Button
3 = B Button
4 = X Button
5 = A Button
6 = Red toggle switch left
7 = Red toggle switch right
8 = Start Button
9 = Select Button
10 = Reverse Select Button (back side of controller)
11 = Reverse Start Button (back side of controller)
12 = Front Left Button
Dpad_0_up/down/left/right = Directional Pad/Hat Switch

Using these button numbers, I changed all of the menu, replay, and driving functions to what I felt made the most sense coming from the Xbox360 version. However, I did move Look Left/Right to the buttons on the back side of the wheel (10/11).

Copy/Paste Instructions Part 1

Find the folder where you installed Dirt 3, most likely SteamsteamappscommonDirt3.

Before we modify the button assignments, we need to make a couple quick changes to the force feedback settings. In the forcefeedback folder, right-click devicesetup.xml and Open With Notepad.

Find and highlight the entire line for the Ferrari 430 under the Wheels section, and paste the following (or copy the values from the G25/G27 for scaleforce, etc):

<FFBDevice name=”F430 Force Feedback” scaleForce=”1.0″ scaleFriction=”1.0″ baseFriction=”0.0″ maxFriction=”100.0″ scaleEffects=”1.0″ delay=”0.0″/>

Close the file and save changes.

Copy/Paste Instructions for Italia Wheel

Next, go back to the root directory and open the ActionMap folder, then right-click and open tm_ferrari_430_force_feedback.xml with Notepad again. Delete the entire contents of the file and paste ALL of the following:

<!– Action map for a default Direct Input device –>
<!– Defaults: deadZone: 0.2f saturation: 0.8f threshold: 0.5f –>
<ActionMap actionMapName=”tm_f430_force_feedback” deviceName=”Thrustmaster TX Racing Wheel” priority=”9″>

<!– In Game Actions –>
<Action actionName=”Accelerate”>
<Axis axisName=”di_z_axis_rotation”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Brake”>
<Axis axisName=”di_y_axis”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Handbrake”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Steer Left”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalLower” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Steer Right”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalUpper” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Change View”>
<Axis axisName=”di_button_9″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Gear Up”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Gear Down”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Left”>
<Axis axisName=”di_button_10″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Right”>
<Axis axisName=”di_button_11″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Back”>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Pause”>
<Axis axisName=”di_button_8″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Instant Replay”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Horn”>
<Axis axisName=”di_button_5″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

<!– Menu Actions –>
<Action actionName=”Menu Left”>
<Axis axisName=”di_dpad_0_left”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Right”>
<Axis axisName=”di_dpad_0_right”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Select”>
<Axis axisName=”di_button_5″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Back”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Button3″>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Button4″>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Start Button”>
<Axis axisName=”di_button_8″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Fe View Tweak In”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Fe View Tweak Out”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

<!– Replay Actions –>
<Action actionName=”Replay Rewind”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalLower” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
<Axis axisName=”di_y_axis”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Replay Fast Forward”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalUpper” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
<Axis axisName=”di_z_axis_rotation”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Replay Pause”>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Next Camera”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Prev Camera”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Jump In”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Exit”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay UI On Off”>
<Axis axisName=”di_button_9″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Youtube”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Drag Left”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Drag Right”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Speed Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Speed Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Upload”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Exit”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

Close the file and save.

Copy/Paste Instructions for TX Leather Wheel

Next, go back to the root directory and open the ActionMap folder, then right-click and open tm_ferrari_430_force_feedback.xml with Notepad again. Delete the entire contents of the file and paste ALL of the following:

<!– Action map for a default Direct Input device –>
<!– Defaults: deadZone: 0.2f saturation: 0.8f threshold: 0.5f –>
<ActionMap actionMapName=”tm_f430_force_feedback” deviceName=”Thrustmaster TX Racing Wheel” priority=”9″>

<!– In Game Actions –>
<Action actionName=”Accelerate”>
<Axis axisName=”di_z_axis_rotation”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Brake”>
<Axis axisName=”di_y_axis”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Handbrake”>
<Axis axisName=”di_button_8″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Steer Left”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalLower” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Steer Right”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalUpper” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Change View”>
<Axis axisName=”di_button_9″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Gear Up”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Gear Down”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Left”>
<Axis axisName=”di_dpad_0_left”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Right”>
<Axis axisName=”di_dpad_0_right”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Look Back”>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Pause”>
<Axis axisName=”di_button_5″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Instant Replay”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Horn”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

<!– Menu Actions –>
<Action actionName=”Menu Left”>
<Axis axisName=”di_dpad_0_left”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Right”>
<Axis axisName=”di_dpad_0_right”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Select”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Back”>
<Axis axisName=”di_button_8″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Button3″>
<Axis axisName=”di_button_9″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Button4″>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Menu Start Button”>
<Axis axisName=”di_button_7″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Fe View Tweak In”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Fe View Tweak Out”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

<!– Replay Actions –>
<Action actionName=”Replay Rewind”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalLower” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
<Axis axisName=”di_y_axis”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Replay Fast Forward”>
<Axis axisName=”di_x_axis”>
<CalibratorSimple type=”biDirectionalUpper” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
<Axis axisName=”di_z_axis_rotation”>
<CalibratorSimple type=”uniDirectionalNegative” deadZone=”0.0″ saturation=”1.0″ />
</Axis>
</Action>
<Action actionName=”Replay Pause”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Next Camera”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Prev Camera”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Jump In”>
<Axis axisName=”di_button_2″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Exit”>
<Axis axisName=”di_button_8″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay UI On Off”>
<Axis axisName=”di_button_12″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Replay Youtube”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Drag Left”>
<Axis axisName=”di_button_0″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Drag Right”>
<Axis axisName=”di_button_1″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Speed Up”>
<Axis axisName=”di_dpad_0_up”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Speed Down”>
<Axis axisName=”di_dpad_0_down”>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Upload”>
<Axis axisName=”di_button_3″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>
<Action actionName=”Youtube Exit”>
<Axis axisName=”di_button_4″>
<CalibratorSimple type=”uniDirectionalPositive” />
</Axis>
</Action>

Conclusion

Once you start the game, the Start button will be used to enter, then the A button to select a profile. The directional pad will navigate the menus, A selects, B backs out, etc.

During Flashbacks, the pedals will FF and Rewind, X will use your flashback, B backs out.

Assuming the TX is set to 900 in windows, I recommend a steering saturation of 55%, Linearity 0, and braking saturation 75%.

Enjoy not having a keyboard on your lap.

SteamSolo.com