I decided to see if this could be changed. Good news peeps It can!
Having spent far too much time looking in to this, I thought I'd share with the community on how to get that last gear shift position to actually do something.
First, if you're using Steam, you'll need to make your profile local so you can get at the settings. To do this open the game, select "Manage Profiles" , select the profile you want to use the TH8a shifter, then click "Edit Profile". Now untick "Use Steam Cloud" and click apply. If you've already setup your TH8a you can close the game again now, if not, quickly setup the normal 6 gears plus reverse now then close the game.
Now you need to open windows explorer and head on over to "C:\Users\<Profile name>\Documents\Euro Truck Simulator 2\profiles" and open the directory there with the long serious of characters. There might be multiple if you have more than one profile. That series of characters is actually a hex representation of your profile name, so go google search for a hex to text converter to figure out the right one.
Open the directory and in there is a file called "controls.sii". Open that and find the line;
Code: Select all
config_lines[418]: "mix gear8 `semantical.gear8?0`"
Code: Select all
config_lines[417]: "mix gear7 `joy2.b6?0 | semantical.gear7?0`"
So we want to change
Code: Select all
config_lines[418]: "mix gear8 `semantical.gear8?0`"
Code: Select all
config_lines[418]: "mix gear8 `joy2.b7?0 | semantical.gear8?0`"
In the same directory as "controls.sii" are various premade gearbox configs. After a bit of research, I figured out how to make my own that works.
Make a file called "gearbox_layout_th8a.sii" and edit it to include the following;
Code: Select all
SiiNunit
{
direct_gearbox_config : _nameless.28d.th8a.00v1 {
name: "TH8a"
clutch_mode: analog
selector_mode: range_split
gears: 17
gears[0]: _nameless.Gear.Neutral
gears[1]: _nameless.Gear.Crawling.Low
gears[2]: _nameless.Gear.Crawling.High
gears[3]: _nameless.Gear.First.Low
gears[4]: _nameless.Gear.First.High
gears[5]: _nameless.Gear.Second.Low
gears[6]: _nameless.Gear.Second.High
gears[7]: _nameless.Gear.Third.Low
gears[8]: _nameless.Gear.Third.High
gears[9]: _nameless.Gear.Forth.Low
gears[10]: _nameless.Gear.Forth.High
gears[11]: _nameless.Gear.Fifth.Low
gears[12]: _nameless.Gear.Fifth.High
gears[13]: _nameless.Gear.Sixth.Low
gears[14]: _nameless.Gear.Sixth.High
gears[15]: _nameless.Gear.Reverse.Low
gears[16]: _nameless.Gear.Reverse.High
}
direct_gearbox_gear : _nameless.Gear.Neutral {
gear_impulse_index: 0
selector_1: -1
selector_2: -1
gear: 0
name: N
}
direct_gearbox_gear : _nameless.Gear.Reverse.Low {
gear_impulse_index: 1
selector_1: -1
selector_2: 0
gear: -1
name: RL
}
direct_gearbox_gear : _nameless.Gear.Reverse.High {
gear_impulse_index: 1
selector_1: -1
selector_2: 1
gear: -2
name: RH
}
direct_gearbox_gear : _nameless.Gear.Crawling.Low {
gear_impulse_index: 2
selector_1: -1
selector_2: 0
gear: 1
name: C1
}
direct_gearbox_gear : _nameless.Gear.Crawling.High {
gear_impulse_index: 2
selector_1: -1
selector_2: 1
gear: 2
name: C2
}
direct_gearbox_gear : _nameless.Gear.First.Low {
gear_impulse_index: 3
selector_1: -1
selector_2: 0
gear: 3
name: 1L
}
direct_gearbox_gear : _nameless.Gear.First.High {
gear_impulse_index: 3
selector_1: -1
selector_2: 1
gear: 4
name: 1H
}
direct_gearbox_gear : _nameless.Gear.Second.Low {
gear_impulse_index: 4
selector_1: -1
selector_2: 0
gear: 5
name: 2L
}
direct_gearbox_gear : _nameless.Gear.Second.High {
gear_impulse_index: 4
selector_1: -1
selector_2: 1
gear: 6
name: 2H
}
direct_gearbox_gear : _nameless.Gear.Third.Low {
gear_impulse_index: 5
selector_1: -1
selector_2: 0
gear: 7
name: 3L
}
direct_gearbox_gear : _nameless.Gear.Third.High {
gear_impulse_index: 5
selector_1: -1
selector_2: 1
gear: 8
name: 3H
}
direct_gearbox_gear : _nameless.Gear.Forth.Low {
gear_impulse_index: 6
selector_1: -1
selector_2: 0
gear: 9
name: 4L
}
direct_gearbox_gear : _nameless.Gear.Forth.High {
gear_impulse_index: 6
selector_1: -1
selector_2: 1
gear: 10
name: 4H
}
direct_gearbox_gear : _nameless.Gear.Fifth.Low {
gear_impulse_index: 7
selector_1: -1
selector_2: 0
gear: 11
name: 5L
}
direct_gearbox_gear : _nameless.Gear.Fifth.High {
gear_impulse_index: 7
selector_1: -1
selector_2: 1
gear: 12
name: 5H
}
direct_gearbox_gear : _nameless.Gear.Sixth.Low {
gear_impulse_index: 8
selector_1: -1
selector_2: 0
gear: 13
name: 6L
}
direct_gearbox_gear : _nameless.Gear.Sixth.High {
gear_impulse_index: 8
selector_1: -1
selector_2: 1
gear: 14
name: 6H
}
}
Select Options -> Controls and scroll down to "Shifter layout". In that drop down menu, if everything went correctly, should be an option called "TH8a". The layout is for 12+2 gears in the following layout;
This only uses the second selector switch you have so in theory you could have another 16 gear positions by using the other one.
EDIT; I've made a version 2 with the following layout which cuts down considerably on having to use the second selector;
with the following file saved as "gearbox_layout_th8a_v2.sii";
Code: Select all
SiiNunit
{
direct_gearbox_config : _nameless.28d.th8a.00v2 {
name: "TH8a V2"
clutch_mode: analog
selector_mode: range_split
gears: 17
gears[0]: _nameless.Gear1.Neutral
gears[1]: _nameless.Gear1.Crawling.Low
gears[2]: _nameless.Gear1.Crawling.High
gears[3]: _nameless.Gear1.First.Low
gears[4]: _nameless.Gear1.First.High
gears[5]: _nameless.Gear1.Second.Low
gears[6]: _nameless.Gear1.Second.High
gears[7]: _nameless.Gear1.Third.Low
gears[8]: _nameless.Gear1.Third.High
gears[9]: _nameless.Gear1.Forth.Low
gears[10]: _nameless.Gear1.Forth.High
gears[11]: _nameless.Gear1.Fifth.Low
gears[12]: _nameless.Gear1.Fifth.High
gears[13]: _nameless.Gear1.Sixth.Low
gears[14]: _nameless.Gear1.Sixth.High
gears[15]: _nameless.Gear1.Reverse.Low
gears[16]: _nameless.Gear1.Reverse.High
}
direct_gearbox_gear : _nameless.Gear1.Neutral {
gear_impulse_index: 0
selector_1: -1
selector_2: -1
gear: 0
name: N
}
direct_gearbox_gear : _nameless.Gear1.Reverse.Low {
gear_impulse_index: 1
selector_1: -1
selector_2: 0
gear: -1
name: RL
}
direct_gearbox_gear : _nameless.Gear1.Reverse.High {
gear_impulse_index: 1
selector_1: -1
selector_2: 1
gear: -2
name: RH
}
direct_gearbox_gear : _nameless.Gear1.Crawling.Low {
gear_impulse_index: 2
selector_1: -1
selector_2: 0
gear: 1
name: C1
}
direct_gearbox_gear : _nameless.Gear1.Crawling.High {
gear_impulse_index: 3
selector_1: -1
selector_2: 0
gear: 2
name: C2
}
direct_gearbox_gear : _nameless.Gear1.First.Low {
gear_impulse_index: 4
selector_1: -1
selector_2: 0
gear: 3
name: 1L
}
direct_gearbox_gear : _nameless.Gear1.First.High {
gear_impulse_index: 5
selector_1: -1
selector_2: 0
gear: 4
name: 1H
}
direct_gearbox_gear : _nameless.Gear1.Second.Low {
gear_impulse_index: 6
selector_1: -1
selector_2: 0
gear: 5
name: 2L
}
direct_gearbox_gear : _nameless.Gear1.Second.High {
gear_impulse_index: 7
selector_1: -1
selector_2: 0
gear: 6
name: 2H
}
direct_gearbox_gear : _nameless.Gear1.Third.Low {
gear_impulse_index: 8
selector_1: -1
selector_2: 0
gear: 7
name: 3L
}
direct_gearbox_gear : _nameless.Gear1.Third.High {
gear_impulse_index: 8
selector_1: -1
selector_2: 1
gear: 8
name: 3H
}
direct_gearbox_gear : _nameless.Gear1.Forth.Low {
gear_impulse_index: 2
selector_1: -1
selector_2: 1
gear: 9
name: 4L
}
direct_gearbox_gear : _nameless.Gear1.Forth.High {
gear_impulse_index: 3
selector_1: -1
selector_2: 1
gear: 10
name: 4H
}
direct_gearbox_gear : _nameless.Gear1.Fifth.Low {
gear_impulse_index: 4
selector_1: -1
selector_2: 1
gear: 11
name: 5L
}
direct_gearbox_gear : _nameless.Gear1.Fifth.High {
gear_impulse_index: 5
selector_1: -1
selector_2: 1
gear: 12
name: 5H
}
direct_gearbox_gear : _nameless.Gear1.Sixth.Low {
gear_impulse_index: 6
selector_1: -1
selector_2: 1
gear: 13
name: 6L
}
direct_gearbox_gear : _nameless.Gear1.Sixth.High {
gear_impulse_index: 7
selector_1: -1
selector_2: 1
gear: 14
name: 6H
}
}