Multiple Universal Cameras (Internal & External with look function) for ATS & ETS2 1.38/1.39/1.40/1.41

Make your game even better
Post Reply
User avatar
JHTrucker
Posts: 1019
Joined: February 7th, 2020, 3:19 pm
Location: UK

Multiple Universal Cameras (Internal & External with look function) for ATS & ETS2 1.38/1.39/1.40/1.41

Post by JHTrucker » September 2nd, 2021, 5:51 pm

Note: This isn't a mod to just drop into your mod manager, you'll also need to follow instructions and edit your controls.sii file.

If you only want internal cameras only use "Extra Cabin Cameras" viewtopic.php?p=44428#p44428
If you only want external cameras only use "Multiple Universal External Cameras" viewtopic.php?p=33833#p33833
Otherwise read on.

This is a combination of my "Extra Cabin Cameras v2" & "Multiple Universal External Cameras v5".
You can now create internal and external cameras and assign up to 3 of them, at any one time, to CAM 6/7/8 buttons.
All your created presets from ECC or MUEC can still be used.

Problems that can't currently be fixed due to game or my limitations:
Example: Using just the standard game, select Cam 1 and press escape to open the menu. Press and hold Cam 2 key and press escape to return to driving screen. You are back to driving view but it's still on Cam 1 despite the fact you are pressing & holding Cam 2 button. Therefore the game will only change cameras when you're actually on the driving screen and not in the menu.
With the above in mind:
Unlike ECCv2 & MUECv5 it's now possible to open the menu with any camera selected which may lead to selecting the wrong preset, from the top preset drop down list, for your current camera, internal preset selected on external camera and vice versa resulting in an incorrect but deliberate 'high up in the clouds' view when closing the menu.
Pressing '9' (or just open/close MUC menu) fixes this by switching cameras if required and will then display your chosen preset correctly.
This can be avoided by following the information in the "How to temporarily use a camera preset (not assigned to CAM 6/7/8)" section below.
Note: Using CAM 6/7/8 will always switch internal to external and vice versa correctly.

The game code always sets the variable I use to specify internal (1) or external (0) cameras to '1' on every game startup.
If you left the game with an internal camera in use then it will look correct at next startup.
If you left the game with an external camera in use then you'll see a low quality dash or be 'high up in the clouds' at next startup.
Press '9' or any camera button to fix.

Note: Switching cameras using the buttons 1/2/3/4/5/6/7/8/shift+6/shift+7/shift+8 all work correctly switching from game standard or MUC internal to game standard or MUC external.

Note: You cannot use this with my 'TrackIR Option 1 or 7 Window Block'.
Tobii Eye can't be used as this uses the Tobii Eye menu and variables and will therefore mess up your Tobii Eye setup!!!
VR isn't supported just because I assumed no one would want this for VR.


Internal Cameras:
Passenger seat, Sleeper seat or Sleeper laid down.
You can switch to sleeper position before activating in game sleep... if you really want this option!
Or you can "Move To" these new cameras using your real steering wheel to move you through the cabin to your chosen camera position.
You can look around upto 90 degrees left/right & ~70 degrees up/down limited by each truck interior camera file.
Example W900 internal cameras - Some trucks have transparent seats when viewed from sleeper and/or gaps in the cabin.
Image
Example DAF 2021 XG+ 'Move To' Sleeper - Use real steering wheel for movement.
Image
Note: CAM 1 has full game standard movement. There's no edited interior camera files in the mod.

External Cameras:
These cameras have collision enabled. Meaning a high up chase camera will duck under bridges as required so you don't loose sight of your truck.
You can look around upto 180 degrees left/right & 90 degrees up/down.
Example W900 Hood camera looking around - Use analogue controller thumbstick / Look buttons / TrackIR
Image

You can use the preset 'templates' and adjust the sliders to place the camera anywhere inside or outside of the cab.
You can use this with SCS game standard trucks or mod trucks.

Requirements for use:
Attached Menu Mod and edited controls.sii & config_local.cfg files as detailed below.
At least one of the following:
Keyboard - Instant look left/right/back.
Standard game TrackIR - Look left/right/up/down & move left/right/up/down/forward/backward (TIR x/y/z) when using external chase cam's. (MUC cameras only, CAM 1 still has full 6DOF movement).
Analogue gamepad - look left/right/up/down with auto centre. Note: This works the same as my CAM 1 "Analogue look left/right/up/down auto centre" mod and so you can just apply this mod and its edits without loosing anything.
Mouse only works for the standard SCS cameras, CAM 1 & 2.

In game menu - Press shift + 9 or shift + numlock to open.
Image

Available cameras:
CAM 1 - Game standard driving view.
CAM 2 - Game standard chase view.
CAM 3 - Game standard top down view.
CAM 4 - Game standard roof view.
CAM 5 - New 'Look Behind' view.
CAM 6 - New - Assign an internal or external preset via the menu.
CAM 7 - New - Assign an internal or external preset via the menu.
CAM 8 - New - Assign an internal or external preset via the menu.
CAM 9 - Cam Cycle Disabled. It doesn't work with new cameras.
CAM 'Shift + 6' - Game standard Bumper view.
CAM 'Shift + 7' - Game standard On-Wheel view.
CAM 'Shift + 8' - Game standard Drive-By view.

Preset Templates (EXT = External & INT = Internal):
Cam 6/7/8 EXTernal - Adjust Sliders & Save - Template (Origin - ground level in front of truck)
Cam 6/7/8 INTernal - LHD - Adjust Sliders & Save - Template (Origin - LHD drivers seat)
Cam 6/7/8 INTernal - RHD - Adjust Sliders & Save - Template (Origin - RHD drivers seat)

EXT - Bumper - Look Left/Right 90 Degrees - Template
EXT - Bumper - Look Left/Right Down The Side - Template
EXT - Chase - Far - Template
EXT - Chase - Far - 'No look left/right height reduction' - Template
EXT - Chase - Near - Template
EXT - Chase - Near - Look Left/Right 90 Degrees - Template
EXT - Chase - Very Far - Template
EXT - Chase - Very Far & High - Template
EXT - Chase - Very Far - 'No look left/right height reduction' - Template
EXT - Chase - Offset Left Side - Template
EXT - Chase - Offset Right Side - Template
EXT - Drone - Template
EXT - Drone - Very High - Template
EXT - Drone - Ultra High - Template
EXT - Hood - Look Left/Right 90 Degrees - Template
EXT - Hood - Look Left/Right Down The Side - Template
EXT - Hood - Look Left/Right Down The Side - Steer Look - Template
EXT - Look Behind - High - Template
EXT - Look Behind - Offset Left Side - Template
EXT - Look Behind - Offset Right Side - Template
EXT - Lean Out Drivers Window - LHD Template
EXT - Lean Out Drivers Window - RHD Template
EXT - Refuel - LHD Template
EXT - Refuel - RHD Template
EXT - Roof - Look Left/Right Down The Side - Template
EXT - Roof - Look Left/Right Down The Side - Steer Look - Template
EXT - Roof - Look Left/Right Straight Back - Template

INT - LHD ATS Passenger Seat Template
INT - LHD ATS 48 Sleeper Laid down Template LHS (Head Left Hand Side)
INT - LHD ATS 48 Sleeper Laid down Template RHS (Head Right Hand Side)
INT - LHD ATS 48 Sleeper Seat Template
INT - LHD ATS 72 Sleeper Laid down Template LHS (Head Left Hand Side)
INT - LHD ATS 72 Sleeper Laid down Template RHS (Head Right Hand Side)
INT - LHD ATS 72 Sleeper Seat Template

INT - LHD ETS Passenger Seat Template
INT - LHD ETS Sleeper Laid down Template LHS (Head Left Hand Side)
INT - LHD ETS Sleeper Laid down Template RHS (Head Right Hand Side)
INT - LHD ETS Sleeper Seat 1 Template
INT - LHD ETS Sleeper Seat 2 Template

INT - RHD ETS Passenger Seat Template
INT - RHD ETS Sleeper Laid down Template LHS (Head Left Hand Side)
INT - RHD ETS Sleeper Laid down Template RHS (Head Right Hand Side)
INT - RHD ETS Sleeper Seat 1 Template
INT - RHD ETS Sleeper Seat 2 Template
Note: 'Seat 1 Template' is sat on the bed between the front seats whereas 'Seat 2 Template' is on the end of the bed.

Example Presets (supplied in "eye_tracking_presets" folder):
EXT - Bumper - Kenworth W900
EXT - Hood - Freightliner Cascadia 2019
EXT - Hood - International Lonestar
EXT - Hood - Kenworth T680
EXT - Hood - Kenworth W900
EXT - Hood - Mach Anthem
EXT - Hood - Peterbilt 389
EXT - Hood - Peterbilt 579
EXT - Hood - Westernstar 49x
EXT - Hood - Volvo VNL
EXT - Roof - Peterbilt 389
EXT - Roof - Kenworth W900
Note: Externally ATS truck cabs are very different shapes and sizes whereas ETS2 truck cabs are all very similar dimensions. You can therefore just use the 'Templates' without having to save a preset for each ETS2 truck if you want to.

LHD Freightliner Cascadia 2019 Move To Passenger Seat
LHD Freightliner Cascadia 2019 Passenger Seat
LHD Freightliner Cascadia 2019 48 Sleeper Laid Down
LHD Freightliner Cascadia 2019 48 Sleeper Seat
LHD Freightliner Cascadia 2019 72 Sleeper Laid Down
LHD Freightliner Cascadia 2019 72 Sleeper Move To Laid Down LHS
LHD Freightliner Cascadia 2019 72 Sleeper Move To Laid Down RHS
LHD Freightliner Cascadia 2019 72 Sleeper Move To Microwave
LHD Freightliner Cascadia 2019 72 Sleeper Seat

LHD Scania 2016 Passenger Seat
LHD Scania 2016 Sleeper Laid Down LHS
LHD Scania 2016 Sleeper Laid Down RHS
LHD Scania 2016 Sleeper Move To Laid Down LHS
LHD Scania 2016 Sleeper Move To Laid Down RHS
LHD Scania 2016 Sleeper Seat 1
LHD Scania 2016 Sleeper Seat 2

RHD Renault T Passenger Seat
RHD Renault T Sleeper Laid Down
RHD Renault T Sleeper Seat 1
RHD Renault T Sleeper Seat 2

The menu mod is in English only - Press 'shift + 9' to open.
Here's what each option does from top to bottom - if you need to translate them.

Enable MUC code (Tick) or Disable MUC code (Untick) then remove this mod.
***Only untick to disable code & remove menu mod if you require a mod free profile with game standard cameras***

Select a 'Preset' then adjust sliders to suit & Save '+' - [Drop down list]

EXT Steer Look : 1.00=90 Degrees Left / Right <-- Use with a steering wheel for best results.

Move : INT Left=0.0 - Driving Seat=2.5 - Right=5.0 : EXT Left=0.0 - Centre=2.5 - Right=5.0

Move : INT Low=0.0 - Driving Seat=2.5 - High=5.0 : EXT Just above ground=0.0 - Very High=5.0

Move : INT Driving Seat=0.0 - Behind=5.0 : EXT In Front of Truck=0.0 - Far Behind=5.0

Pitch : 90 Degrees Down=0.0 - Level=2.5 - 90 Degrees Up=5.0 (Truck cam only allows ~70 degrees (3.9) internally)

Rotate : INT 90 Degrees (EXT 180) Left=1.0 - Centre=3.0 - INT 90 Degrees (EXT 180) Right=5.0

INT: Enable 'Move to camera location' - Adjust sliders first - TICK & SAVE - Centre real steering wheel & turn to passenger side.
***See below "How to 'Move to camera location'" for more info***
OR
EXT: Auto move camera position when looking left / right - Useful for chase cam views to get closer to truck at junctions.
***See note below for extra info on 'Auto move camera' option.***

INT: LHD Truck (Untick) or RHD Truck (Tick) - Set this to ensure 'Move to camera location' works correctly.
OR
EXT: Look movement - Half (untick) - Full (tick) : 'Half' is useful to prevent the camera rotating back through the truck (eg. Bumper).
***See note below for extra info on 'Look Movement' option.***

Cam 6 - Select a 'Preset' from the list ---> - [Drop down list]

Cam 7 - Select a 'Preset' from the list ---> - [Drop down list]

Cam 8 - Select a 'Preset' from the list ---> - [Drop down list]

Setup - You need to do this:
Multiple Universal Cameras.zip
(63.5 KiB) Downloaded 78 times
Add the mod "Multiple Universal Cameras.scs" to your mod folder.
Put the supplied "eye_tracking_presets" folder into your games home directory (the one with your MOD folder).
Example - C:\Users\TEST\Documents\American Truck Simulator\MOD
Example - C:\Users\TEST\Documents\American Truck Simulator\eye_tracking_presets\xxxxxx.sii etc (all camera presets are stored here).
This folder is only created by the game if you have a Tobii Eye device. If you have and don't use Tobii Eye now then just rename your original folder to "OLD eye_tracking_presets" to avoid problems.

Here are the required edits for your controls.sii file:
Note: The line numbers are different between game version (1.38/1.39/1.40) & game version 1.41. Thanks SCS!
Game Versions 1.38/1.39/1.40 line numbers shown above each 1.41 line edit for your reference.
Just paste the highlighted part into the correct line number to suit your game version.

Make a backup copy of controls.sii file for safe keeping, just in case.
(American/Euro Truck Simulator 2\profiles\Your Profile\controls.sii)

config_lines[52]: "constant c_ht_on 1.000000"

config_lines[55]: "constant c_et_pos 0.000000"

config_lines[77]: "constant c_et_hv_ac 0.000000"

config_lines[173]: "mix cam1... <-- Game Versions 1.38/1.39/1.40
config_lines[164]: "mix cam1 `keyboard.key1?0 | keyboard.key9?0 * sign(c_et_xscale + ! c_et_hv_mode) | ((keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * ! sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head * c_et_xscale)`"

config_lines[174]: "mix cam2... <-- Game Versions 1.38/1.39/1.40
config_lines[165]: "mix cam2 `keyboard.key2?0 | semantical.cam2?0`" <-- This is game default

config_lines[175]: "mix cam3... <-- Game Versions 1.38/1.39/1.40
config_lines[166]: "mix cam3 `keyboard.key3?0 | semantical.cam3?0`" <-- This is game default

config_lines[176]: "mix cam4... <-- Game Versions 1.38/1.39/1.40
config_lines[167]: "mix cam4 `keyboard.key4?0 | semantical.cam4?0`" <-- This is game default

config_lines[177]: "mix cam5... <-- Game Versions 1.38/1.39/1.40
config_lines[168]: "mix cam5 `keyboard.key5?0 | keyboard.key9?0 * ! c_et_xscale | ((keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * ! sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head * ! c_et_xscale)`"

config_lines[178]: "mix cam6... <-- Game Versions 1.38/1.39/1.40
config_lines[169]: "mix cam6 `keyboard.key6?0 * ! c_et_head | keyboard.key6?0 * sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[179]: "mix cam7... <-- Game Versions 1.38/1.39/1.40
config_lines[170]: "mix cam7 `keyboard.key7?0 * ! c_et_head | keyboard.key7?0 * sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[180]: "mix cam8... <-- Game Versions 1.38/1.39/1.40
config_lines[171]: "mix cam8 `keyboard.key8?0 * ! c_et_head | keyboard.key8?0 * sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[181]: "mix camcycle... <-- Game Versions 1.38/1.39/1.40
config_lines[172]: "mix camcycle `keyboard.key9?0 * ! c_et_head`"

config_lines[250]: "mix headtron... <-- Game Versions 1.38/1.39/1.40
config_lines[241]: "mix headtron `((c_et_hv_mode | (! sign(c_et_yawsc) * ! sign(c_et_pitchsc) * ! sign(c_etwm_yawsc) * ! sign(c_etwm_pitsc) * sign(c_et_hv_exp) * ! c_et_hv_mode * ! c_et_xscale)) * c_et_head) | trackiron`"

config_lines[251]: "mix headtryaw... <-- Game Versions 1.38/1.39/1.40
config_lines[242]: "mix headtryaw `((((deadzone(steering, c_steer_dz ) * (c_et_gv_res * 0.5)) * c_et_hv_mode * ! lookpos1?0 * ! lookpos2?0 * ! lookpos3?0 * ! lookpos4?0 * ! lookpos5?0) + (((((-c_et_hv_exp + 3.0) * 0.5 * ! lookpos1?0) + (1.0 * lookpos1?0) + (0.5 * lookpos5?0) + (0.25 * lookpos3?0 + (0.25 * lookpos3?0 * lookpos5?0 * c_et_pos)) + (-0.5 * lookpos4?0) + (-0.25 * lookpos2?0 - (0.25 * lookpos2?0 * lookpos4?0 * c_et_pos))) * c_et_hv_mode) + (clamp(deadzone(pow(-sel(c_jilooklr, -j_look_lr?0, j_look_lr?0), 3), c_lr_dz) * (0.5 + (0.5 * c_et_pos)), -0.5 - (0.5 * c_et_pos), 0.5 + (0.5 * c_et_pos)) * ! lookpos1?0 * ! trackiron * (1.0 - 0.5 * ! abs(sign(c_et_hv_exp - c_et_hv_mode)))) + clamp(sel(trackiron * ! lookpos1?0, trackiryaw, 0), -0.5 - (0.5 * c_et_pos), 0.5 + (0.5 * c_et_pos))) * (1.0 - abs((steering * (c_et_gv_res * (0.5 + 0.5 * ! c_et_pos))) * c_et_hv_mode * ! lookpos1?0 * ! lookpos2?0 * ! lookpos3?0 * ! lookpos4?0 * ! lookpos5?0 * (1.0 - 0.5 * ! abs(sign(c_et_hv_exp - 1)))))) * c_et_head * ! c_et_xscale) + ((((clamp((((-c_et_hv_exp + 3.0) * 0.25) * c_et_head) + deadzone(pow(-sel(c_jilooklr, -j_look_lr?0, j_look_lr?0), 3), c_lr_dz) + sel(trackiron, trackiryaw, 0) + (0.5 * lookpos5?0) + (-0.5 * lookpos4?0) + (0.2 * lookpos3?0) + (-0.2 * lookpos2?0), (-0.5 - ! sign(8.5 - c_et_hv_exp) - ! c_et_head - ! c_et_hv_mode), (0.5 + ! sign(c_et_hv_exp + 2.5) + ! c_et_head + ! c_et_hv_mode))) * ((! c_et_hv_ac + (sign(deadzone(clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos), 0.99))) * sign(c_et_pos - 0.5) * c_et_hv_ac) + ! c_et_head)) + (((clamp(steering, -0.35 * ! c_et_pos, 0.35 * c_et_pos) * 2) - (deadzone(clamp(steering, -0.7 * ! c_et_pos, 0.7 * c_et_pos), 0.4) * 1.4) + ((-c_et_hv_exp + 3.0) * 0.25) * deadzone(clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos), 0.7) * sign(c_et_pos - 0.5)) * (c_et_hv_ac - sign(deadzone(abs(steering), 0.99))) * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp)) * c_et_hv_ac * c_et_head) + (((-c_et_hv_exp + 3.0) * 0.25) * c_et_hv_ac * (! sign(c_et_hv_exp + 2.5) + ! sign(8.5 - c_et_hv_exp)) * c_et_head)) * c_et_xscale) + ((sel(trackiron, trackiryaw, 0) + (deadzone(pow(-sel(c_jilooklr, -j_look_lr?0, j_look_lr?0), 3), c_lr_dz))) * ! c_et_head)`"

config_lines[252]: "mix headtrpitch... <-- Game Versions 1.38/1.39/1.40
config_lines[243]: "mix headtrpitch `(((((-0.044 * lookpos1?0) + (((c_etwm_pitsc - ((c_etwm_pitsc - 2.28) * abs(headtryaw)) * c_et_hv_ac * ! abs(sign(c_et_hv_exp - 3.0))) - 2.5) * 0.2) * ! lookpos1?0) * c_et_hv_mode) + (deadzone(pow(-sel(c_jilookud, -j_look_ud?0, j_look_ud?0), 3), (c_ud_dz * ! c_et_hv_ac) + ((c_etwm_yawsc * 0.1) * c_et_hv_ac)) * (0.2 + (0.8 * c_et_pos * ! c_et_hv_ac * sign(4.0 - ! abs(sign(deadzone(c_et_yawsc - 2.5, 0.2))) - ! sign(deadzone(c_et_pitchsc, 0.4)) - ! sign(deadzone(c_etwm_yawsc, 0.99)) - ! abs(sign(c_et_hv_exp - 3.0))))) * ! lookpos1?0 * ! trackiron) + clamp(sel(trackiron * ! lookpos1?0, trackirpitch, 0), -0.25 - (0.75 * c_et_pos * sign(4.0 - ! abs(sign(deadzone(c_et_yawsc - 2.5, 0.2))) - ! sign(deadzone(c_et_pitchsc, 0.4)) - ! sign(deadzone(c_etwm_yawsc, 0.99)) - ! abs(sign(c_et_hv_exp - 3.0)))), 0.25 + (0.75 * c_et_pos * sign(4.0 - ! abs(sign(deadzone(c_et_yawsc - 2.5, 0.2))) - ! sign(deadzone(c_et_pitchsc, 0.4)) - ! sign(deadzone(c_etwm_yawsc, 0.99)) - ! abs(sign(c_et_hv_exp - 3.0)))))) * c_et_head * ! c_et_xscale) + (((clamp((((c_etwm_pitsc - 2.5) * 0.2) * c_et_head) + deadzone(pow(-sel(c_jilookud, -j_look_ud?0, j_look_ud?0), 3), c_ud_dz) + sel(trackiron, trackirpitch, 0), -0.5, 0.5) * ((! c_et_hv_ac + (sign(deadzone(clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos), 0.99))) * sign(c_et_pos - 0.5) * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp)) * c_et_hv_ac) + ! c_et_head)) + ((((c_etwm_pitsc - 2.5) * 0.2) * deadzone(clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos), 0.5) * sign(c_et_pos - 0.5)) * (c_et_hv_ac - sign(deadzone(abs(steering), 0.99))) * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp)) * c_et_hv_ac * c_et_head) + (((c_etwm_pitsc - 2.5) * 0.2) * c_et_hv_ac * (! sign(c_et_hv_exp + 2.5) + ! sign(8.5 - c_et_hv_exp)) * c_et_head)) * c_et_xscale) + ((sel(trackiron, trackirpitch, 0) + (deadzone(pow(-sel(c_jilookud, -j_look_ud?0, j_look_ud?0), 3), c_ud_dz))) * ! c_et_head)`"

config_lines[253]: "mix headtrroll... <-- Game Versions 1.38/1.39/1.40
config_lines[244]: "mix headtrroll `((((clamp(steering, -0.3 * ! c_et_pos, 0.3 * c_et_pos) - deadzone(clamp(steering, -0.5 * ! c_et_pos, 0.5 * c_et_pos), 0.3)) * 0.333 * c_et_hv_ac * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp))) * c_et_head) * c_et_xscale) + (sel(trackiron & c_ht_roll, trackirroll, 0) * sign(! c_et_hv_mode + ! c_et_head))`"

config_lines[254]: "mix headtrx... <-- Game Versions 1.38/1.39/1.40
config_lines[245]: "mix headtrx `((((((0.5 * lookpos1?0) + ((c_et_yawsc * 3.0) - 7.5) * ! lookpos1?0) * c_et_hv_mode) + ((clamp(headtryaw * (1.0 + (c_etwm_yawsc * 0.1)), -0.5, 0.5) * (c_etwm_yawsc * 10)) * (1.0 - abs(deadzone(headtryaw, 0.5))) * c_et_hv_ac) * ! lookpos1?0) * sign(c_et_hv_exp - 1) + (((((-headtryaw + 1.0) * 25.0) * c_et_hv_ac) * ! lookpos1?0) * ! sign(c_et_hv_exp - 1)) + (clamp(sel(trackiron, trackirx, 0), -0.1, 0.1) * ! c_et_hv_mode) + (clamp(sel(trackiron, trackirx, 0), -1.0, 1.0) * c_etwm_yawsc * c_et_hv_mode * c_et_hv_ac * ! lookpos1?0 * ! abs(sign(c_et_hv_exp - 3))) + (-((abs(headtryaw) - 0.4) * 4.5) * sign(deadzone(headtryaw, 0.4)) * (c_et_pos * ! c_et_hv_ac * ! abs(sign(deadzone(c_et_yawsc - 2.5, 0.2))) * ! sign(deadzone(c_et_pitchsc, 0.4)) * ! sign(deadzone(c_etwm_yawsc, 0.99)) * ! abs(sign(c_et_hv_exp - 3.0)) * ! lookpos1?0))) * c_et_head * ! c_et_xscale) + (((((((c_et_yawsc - 2.5) * 0.6) * ! c_et_hv_ac) + (clamp(-steering, -0.5 * c_et_pos, 0.5 * ! c_et_pos) - ((((c_et_yawsc - 2.5) * 0.6) - (0.5 * sign(-steering))) * deadzone(clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos), 0.5) * sign(-steering))) * c_et_hv_ac * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp))) * c_et_head) + (clamp(sel(trackiron, trackirx, 0), -0.1, 0.1) * sign(! c_et_hv_mode + ! c_et_head)) + (((c_et_yawsc - 2.5) * 0.6) * c_et_hv_ac * (! sign(c_et_hv_exp + 2.5) + ! sign(8.5 - c_et_hv_exp)) * c_et_head)) * c_et_xscale) + (clamp(sel(trackiron, trackirx, 0), -0.1, 0.1) * ! c_et_head)`"

config_lines[255]: "mix headtry... <-- Game Versions 1.38/1.39/1.40
config_lines[246]: "mix headtry `(((((2.5 * lookpos1?0) + ((((c_et_pitchsc - ((c_et_pitchsc - 0.4) * abs(headtryaw)) * c_et_hv_ac * ! abs(sign(c_et_hv_exp - 3.0))) + clamp(sel(trackiron, trackiry, 0), -c_et_pitchsc * (1.0 - abs(headtryaw * abs(sign(c_et_hv_exp - 1)))), c_et_pitchsc * (1.0 - abs(headtryaw * abs(sign(c_et_hv_exp - 1))))) * c_et_hv_mode * c_et_hv_ac) * 10.0) - 1.5) * ! lookpos1?0) * c_et_hv_mode) + clamp(sel(trackiron, trackiry, 0), -0.05, 0.05) * ! c_et_hv_mode) * c_et_head * ! c_et_xscale) + (((((((c_et_pitchsc - 2.5) * 0.25) * ! c_et_hv_ac) + (clamp(abs(steering), -0.0, (0.15 + (c_etwm_yawsc * 0.04))) + ((((c_et_pitchsc - 2.5) * 0.25) - ((0.15 + (c_etwm_yawsc * 0.04)) * abs(steering))) * deadzone(clamp(abs(steering), -0.0, 1.0), 0.5))) * clamp(sign(steering) * sign(c_et_pos - 0.5), -0.0, 1.0) * c_et_hv_ac * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp))) * c_et_head) + (clamp(sel(trackiron, trackiry, 0), -0.05, 0.05) * sign(! c_et_hv_mode + ! c_et_head)) + (((c_et_pitchsc - 2.5) * 0.25) * c_et_hv_ac * (! sign(c_et_hv_exp + 2.5) + ! sign(8.5 - c_et_hv_exp)) * c_et_head)) * c_et_xscale) + (((666 * c_et_xscale * ! c_ht_on) + (666 * ! c_et_xscale * c_ht_on)) * c_et_hv_mode * c_et_head) + (clamp(sel(trackiron, trackiry, 0), -0.05, 0.05) * ! c_et_head)`"

config_lines[256]: "mix headtrz... <-- Game Versions 1.38/1.39/1.40
config_lines[247]: "mix headtrz `(((((-10.2 * lookpos1?0) + (((c_etwm_yawsc * 10.0) - 7.5) * (1.0 - (abs(clamp(deadzone(-sel(c_jilookud, -j_look_ud?0, j_look_ud?0), c_ud_dz * 2), -(1.0 - abs(headtryaw)), 0.0)) * c_et_hv_ac * ! trackiron * sign(c_et_hv_exp - 1)) + (clamp(sel(trackiron, trackirz, 0), -1.0, 0.5) * c_et_hv_ac)) * ! lookpos1?0) * abs(clamp(abs((headtryaw * 2) * c_et_hv_ac * sign(c_et_hv_exp - 1)), -0.0, 1.0) - 1)) * c_et_hv_mode) + (clamp(sel(trackiron, trackirz, 0), -0.2, 0.05) * ! c_et_hv_mode) - ((abs(clamp(deadzone(headtryaw, 0.5), -0.93, 0.93)) * 11) * c_et_hv_ac * sign(c_et_hv_exp - 1) * ! lookpos1?0 * ! lookpos2?0 * ! lookpos3?0 * ! lookpos4?0 * ! lookpos5?0) + abs(((((-headtryaw + 1.0) * 15.0) * c_et_hv_ac) * ! lookpos1?0) * ! sign(c_et_hv_exp - 1)) + (-abs(headtryaw) * 0.5 * (c_et_pos * ! c_et_hv_ac * ! abs(sign(deadzone(c_et_yawsc - 2.5, 0.2))) * ! sign(deadzone(c_et_pitchsc, 0.4)) * ! sign(deadzone(c_etwm_yawsc, 0.99)) * ! abs(sign(c_et_hv_exp - 3.0)) * ! lookpos1?0))) * c_et_head * ! c_et_xscale) + ((((((c_etwm_yawsc * 0.5) * ! c_et_hv_ac) + ((c_etwm_yawsc * 0.5) * (clamp(steering, -1.0 * ! c_et_pos, 1.0 * c_et_pos) * sign(c_et_pos - 0.5) * c_et_hv_ac * (sign(c_et_hv_exp + 2.5) * sign(8.5 - c_et_hv_exp))))) * c_et_head) + (clamp(sel(trackiron, trackirz, 0), -0.2, 0.05) * sign(! c_et_hv_mode + ! c_et_head)) + ((c_etwm_yawsc * 0.5) * c_et_hv_ac * (! sign(c_et_hv_exp + 2.5) + ! sign(8.5 - c_et_hv_exp)) * c_et_head)) * c_et_xscale) + (clamp(sel(trackiron, trackirz, 0), -0.2, 0.05) * ! c_et_head)`"

config_lines[343]: "mix eyecfg... <-- Game Versions 1.38/1.39/1.40
config_lines[337]: "mix eyecfg `modifier(shift_only, keyboard.key9?0) | modifier(shift_only, keyboard.numlock?0)`"

config_lines[128]: "mix headtren... <-- Game Versions 1.38/1.39/1.40
config_lines[463]: "mix headtren `(keyboard.key1?0 * ! c_ht_on | ((keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * ! sign(keyboard.lshift?0 + keyboard.rshift?0) | keyboard.key9?0) * ! c_ht_on * c_et_xscale * c_et_hv_mode | (keyboard.key2?0 | keyboard.key3?0 | keyboard.key4?0 | keyboard.key5?0 | ((keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * sign(keyboard.lshift?0 + keyboard.rshift?0))) * c_ht_on | ((keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * ! sign(keyboard.lshift?0 + keyboard.rshift?0) | keyboard.key9?0) * c_ht_on * ! c_et_xscale * c_et_hv_mode) * c_et_head`"

config_lines[131]: "mix eyepreset1... <-- Game Versions 1.38/1.39/1.40
config_lines[466]: "mix eyepreset1 `keyboard.key6?0 * ! sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[132]: "mix eyepreset2... <-- Game Versions 1.38/1.39/1.40
config_lines[467]: "mix eyepreset2 `keyboard.key7?0 * ! sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[133]: "mix eyepreset3... <-- Game Versions 1.38/1.39/1.40
config_lines[468]: "mix eyepreset3 `keyboard.key8?0 * ! sign(keyboard.lshift?0 + keyboard.rshift?0) * c_et_head`"

config_lines[134]: "mix eyepreset4... <-- Game Versions 1.38/1.39/1.40
config_lines[469]: "mix eyepreset4 `(keyboard.key1?0) * c_et_head`"

config_lines[135]: "mix eyepreset5... <-- Game Versions 1.38/1.39/1.40
config_lines[470]: "mix eyepreset5 `(keyboard.key2?0 | keyboard.key3?0 | keyboard.key4?0 | keyboard.key5?0 | (keyboard.key6?0 | keyboard.key7?0 | keyboard.key8?0) * sign(keyboard.lshift?0 + keyboard.rshift?0) | keyboard.key0?0) * c_et_head`"

Close & save.

Here are the required edits for your config_local.cfg file that's in the same folder as your controls.sii file. Use notepad/wordpad etc:
(American/Euro Truck Simulator 2\profiles\Your Profile\config_local.cfg)

uset g_eye_preset_5 "g:tobii_head_only"

uset g_eye_preset_4 "g:tobii_4c" <-- Cam 1 with TrackIR or Analogue Controller with auto centre.
OR
uset g_eye_preset_4 "g:default" <-- Cam 1 with game standard Mouse or Analogue Controller.

uset g_eye_preset_3 "g:ext_drone_uhigh"

uset g_eye_preset_2 "g:ext_chase_near"

uset g_eye_preset_1 "g:ext_hood"

Close & save.

To use keyboard look functions:
In the games Keys Menu, assign your look keys for these actions (if required):
Interior Look Forward (Default Number pad 5) = To Look Behind
Interior Look Up Left (Default Number pad 7) = To Look 45 Degrees Left
Interior Look Left (Default Number pad 4) = To Look 90 Degrees Left
Interior Look Up Right (Default Number pad 9) = To Look 45 Degrees Right
Interior Look Right (Default Number pad 6) = To Look 90 Degrees Right
Note 1: The look view is instant and you must press & hold the button. Letting go of the button will instantly centre the view.
Note 2: Press & hold 'Interior Look Up Left' & 'Interior Look Left' To Look 180 Degrees Left.
Note 3: Press & hold 'Interior Look Up Right' & 'Interior Look Right' To Look 180 Degrees Right.
Note 4: Yes you can also assign game pad buttons instead of using the keyboard to look.

To use analogue look functions:
Setup controller as normal in game, like so:
OPTIONS - CONTROLLERS - Keyboard+Controller
Pick your "Look up/down axis" & "Look left/right axis"
Adjust dead zones & axis mode as required.

NOTE: Don't change any key bindings in the game menu's that state "COMPLEX".
The above edits are the reason those are "complex".

That's it, go try it out.

TIP: Re-open the saved control.sii file before running the game for the first time. This prevents the game resetting your controls.sii file if you made an error.
If the new cameras don't work, open the console, if you see one of the above lines in red text, you need to check that line again for a typo or a bad copy/paste. Save the controls.sii file but don't close it and then run the game again.
Once you are happy all is working as intended you can keep the controls.sii file closed.

==========================================================================================

How to temporarily use a camera preset (not assigned to CAM 6/7/8):
Internal camera preset:
Select CAM 1 and then open the menu with 'shift + 9'.
Select an internal preset "INT ...", "LHD ..." or "RHD ..." from the top preset drop down list and press 'Escape'.

External camera preset:
Select CAM 5 and then open the menu with 'shift + 9'.
Select an external preset "EXT - ..." from the top preset drop down list and press 'Escape'.

==========================================================================================

How to create a camera preset:
Internal camera preset:
Select CAM 1 and then open the menu with 'shift + 9'.
Select an internal preset ("Cam 6/7/8 Internal - _HD - Adjust sliders & save", "INT - ... Template" or "LHD/RHD... presets") from the top drop down list and adjust as required.
Press 'Escape' to view your camera and 'shift + 9' to re-open the menu and make any required changes.
Do this until you are happy the camera looks and/or moves as you want it to.
Save the camera as a preset and assign it to one of the menu CAM 6/7/8 buttons.

External camera preset:
Select CAM 5 and then open the menu with 'shift + 9'.
Select an external preset ("Cam 6/7/8 External - Adjust sliders & save" or "EXT - ...") from the top drop down list and adjust as required.
Press 'Escape' to view your camera and 'shift + 9' to re-open the menu and make any required changes.
Do this until you are happy the camera looks and/or moves as you want it to.
Save the camera as a preset and assign it to one of the menu CAM 6/7/8 buttons.

How to save and delete a camera preset:
Where you see 'Custom' (after positioning your camera) on the menu top preset box, click '+' then type your preset name in the box and press 'enter'.
If you type the same name as an existing preset you can overwrite it if required.
You can also delete presets. On the top preset box, click 'x' and the currently displayed preset will be deleted.
Note: You can't delete or change the mod standard presets, 'Cam 1 - Mouse & Keyboard (Don't Use) / Cam 1 - TrackIR & Analogue Controller (Don't Use) / Cam 5 only (Don't Use)' & '... - Templates'.
All presets created are stored in the games 'eye_tracking_presets' folder.
The preset lists have all 'templates' listed first followed by:
"Templates above ---^^^ or User created presets below ---vvv"
and then user created presets are listed.

Your new preset is now selectable from the CAM 6/7/8 drop down lists.

Note: To make it easy to find your presets in the list you should prefix internal presets with "LHD -" or "RHD -" and external presets with "EXT -".

==========================================================================================

Note: 'Auto move camera position when looking left / right' - External Cameras Only.
When using any 'chase cam' your height and pitch will automatically reduce as you turn left/right until you are 180 degrees and facing your truck.
To disable this 'auto reduce height/pitch function', if required, for your 'preset chase cam', set it's 'camera rotation' from 3.00 (straight ahead) to 3.01 (almost straight ahead). Then a high up chase cam will always stay high up when turning the view.

Note: 'Look Movement' Half (90 degrees left/right) or Full (180 degrees left/right) - External Cameras Only
If you don't want the camera to rotate through the truck, for example 'lean out' or 'bumper' cams, then set to 'Half'.
Using 'Full' with Hood & Roof cams will rotate to look down the side of your truck if the camera is placed in the truck cab area and this strict criteria is followed:
Move Left / Right Slider = 2.31 to 2.69 (centre of truck area - centre varies per truck)
Move Up / Down Slider = 0.00 to 0.40 (ground to just above general roof height)
Move Forward / Backward = 0.00 to 0.99 (in front of the truck to approx back of cab area)
Camera Rotate = 3.00 (straight ahead only)
Auto Move - Untick
Look Movement - Tick
Any values outside of the above will disable this 'look around the side of truck' option.

==========================================================================================

How to 'Move to camera location' - Internal Cameras Only:
With this TICKED you will move from the drivers seat to your selected cabin camera location rather than instant switching.
You need to be using an actual steering wheel (ideally) or analogue gamepad thumbstick / joystick for steering. Mouse or button steering won't work and can't work as they are not analogue devices.
Example:
Select the preset you want to use. TICK Enable 'Move to camera location' box and save as a 'Move To' preset and assign it to one CAM 6/7/8 buttons.
Using CAM 1 - Centre your real steering wheel - Select the 'Move Enabled' cabin camera CAM 6/7/8 you want to move to.
You will still be sat in the driving seat until you turn your real steering wheel towards the passenger side.
You will then move through the cabin to the point where the selected camera is positioned at the speed that you turn your wheel.
So you can move from driving seat to laid down in the sleeper. Press 'sleep' and then wake up and turn your wheel back to the centre point to get back into the driving seat.
Note 1: Always press CAM 1 when ready to drive away.
Note 2: If you want to adjust a 'Move To' camera then UNTICK first, make adjustments and check position is ok before you TICK 'Move To' & SAVE again.
Note 3: Ensure LHD Truck (Untick) or RHD Truck (Tick) is set correctly otherwise movement will be strange.

All the internal cameras / templates are static by default and will therefore just switch when pressing CAM 6/7/8.
TICK Enable 'Move to camera location' box and save as a 'Move To' preset so you have both options to choose from.
"LHD Freightliner Cascadia 2019 72 Sleeper Laid Down RHS" <-- Instant switch to Right Hand Side of sleeper.
"LHD Freightliner Cascadia 2019 72 Sleeper Move To Laid Down RHS" <-- Move to Right Hand Side of sleeper.

==========================================================================================

Q & A Section:
All cameras will switch correctly when pressing 1, 2, 3, 4, 5, 6, 7, 8, shift + 6, shift + 7 or shift + 8 but just using the top right drop down list in the menu to temporarily use a preset may cause it to display incorrectly.
Always change to CAM 1 and then open menu and pick an internal preset only or change to CAM 5 and then open menu and pick an external preset only.

Q - Why show line edits stating "<-- This is game default"?
A - If you want to test between ECC, MUEC or MUC you won't then have left over edits that would affect your current setup.

Q - Does it matter which preset I modify?
A - Never use 'Cam 1 Mouse & Keyboard (Don't Use)', 'Cam 1 TrackIR & Analogue Controller (Don't Use)' or 'Cam 5 only (Don't Use)' as a starting point. Use one of the other presets that best matches where you want the camera positioned and adjust sliders to suit.

Q - My internal camera preset has a low quality interior, what's wrong?
A - You have created it using an external camera preset. Select an internal camera preset and adjust again.

Q - My external camera preset has the exterior of the truck missing, what's wrong?
A - You have created it using an internal camera preset. Select an external camera preset and adjust again.

Q - What's the best way to avoid my chosen preset (top right drop down list) displaying wrongly?
A - Assign it to CAM 6/7/8 in the menu or change to CAM 1 and then open menu and pick an internal preset only or change to CAM 5 and then open menu and pick an external preset only.

Q - Why is the interior look left/right movement restricted to 90 degrees.
A - Looking beyond 90 degrees will cause the interior to change to low quality as the game thinks your head is now outside.
Camera rotation is also part of that 90 degrees limit. So if you rotate the camera 90 degrees left then you can't look any further.

Q - How do I use 'steer look slider' for CAM 1?
A - That slider will only work for external cameras assigned to CAM 6, 7 or 8. Use game original 'steer look' in the controls menu for CAM 1.

Q - I want a roof cam that looks straight back but it keeps moving to the side when using 'Look movement full'.
A - Simply set 'Camera Rotation' to 3.01 instead of 3.00 to disable the 'look around the side' movement when camera is positioned within the 'trigger area'.

Q - After adjusting the sliders to my liking I then change cameras and my adjustments have gone!
A - Never change cameras when making adjustments to the sliders. Save your preset as shown above so your new view will always be selectable.

Q - Why use camcycle key 9 for the menu?
A - Camcycle doesn't display these new cameras correctly, so best not to use it for that.

Q - Do I have to reset to defaults all the line edits so I can play multiplayer as that doesn't support mods currently in 1.41?
A - No. Just open the menu mod and UNTICK 'Enable MUC code' to disable it and then remove the mod. Your cameras will then function exactly as the standard game. When you want to use 'MUC' again for singleplayer, just add mod and TICK 'Enable MUC code' in the menu mod.

Q - Every time I try to open the menu mod the game crashes to desktop.
A - I've only developed/tested this with 1.40/1.41. It should work with 1.38/1.39. It will crash with 1.37.

==========================================================================================

Controls.sii file defaults if required - 1.38/1.39/1.40
config_lines[52]: "constant c_ht_on 1.000000"
config_lines[55]: "constant c_et_pos 1.000000"
config_lines[78]: "constant c_et_hv_mode 0.000000"
config_lines[128]: "mix headtren ``"
config_lines[131]: "mix eyepreset1 ``"
config_lines[132]: "mix eyepreset2 ``"
config_lines[133]: "mix eyepreset3 ``"
config_lines[134]: "mix eyepreset4 ``"
config_lines[135]: "mix eyepreset5 ``"
config_lines[173]: "mix cam1 `keyboard.key1?0 | semantical.cam1?0`"
config_lines[174]: "mix cam2 `keyboard.key2?0 | semantical.cam2?0`"
config_lines[175]: "mix cam3 `keyboard.key3?0 | semantical.cam3?0`"
config_lines[176]: "mix cam4 `keyboard.key4?0 | semantical.cam4?0`"
config_lines[177]: "mix cam5 `keyboard.key5?0 | semantical.cam5?0`"
config_lines[178]: "mix cam6 `keyboard.key6?0 | semantical.cam6?0`"
config_lines[179]: "mix cam7 `keyboard.key7?0 | semantical.cam7?0`"
config_lines[180]: "mix cam8 `keyboard.key8?0 | semantical.cam8?0`"
config_lines[181]: "mix camcycle `keyboard.key9?0 | semantical.camcycle?0`"
config_lines[250]: "mix headtron `c_ht_on & (trackiron | hmdon | eyeposon)`"
config_lines[251]: "mix headtryaw `sel(trackiron, trackiryaw, 0) + sel(hmdon, hmdyaw, 0) + sel(eyeposon, eyeposyaw, 0)`"
config_lines[252]: "mix headtrpitch `sel(trackiron, trackirpitch, 0) + sel(hmdon, hmdpitch, 0) + sel(eyeposon, eyepospitch, 0)`"
config_lines[254]: "mix headtrx `clamp(sel(trackiron, trackirx, 0) + sel(eyeposon, eyeposx, 0), -0.1, 0.1) + sel(hmdon, hmdx, 0)`"
config_lines[255]: "mix headtry `clamp(sel(trackiron, trackiry, 0) + sel(eyeposon, eyeposy, 0), -0.05, 0.05) + sel(hmdon, hmdy, 0)`"
config_lines[256]: "mix headtrz `clamp(sel(trackiron, trackirz, 0) + sel(eyeposon, eyeposz, 0), -0.2, 0.05) + sel(hmdon, hmdz, 0)`"
config_lines[343]: "mix eyecfg `modifier(shift_only, keyboard.numlock?0)`"

Controls.sii file defaults if required - 1.41
config_lines[52]: "constant c_ht_on 1.000000"
config_lines[55]: "constant c_et_pos 1.000000"
config_lines[78]: "constant c_et_hv_mode 0.000000"
config_lines[164]: "mix cam1 `keyboard.key1?0 | semantical.cam1?0`"
config_lines[165]: "mix cam2 `keyboard.key2?0 | semantical.cam2?0`"
config_lines[166]: "mix cam3 `keyboard.key3?0 | semantical.cam3?0`"
config_lines[167]: "mix cam4 `keyboard.key4?0 | semantical.cam4?0`"
config_lines[168]: "mix cam5 `keyboard.key5?0 | semantical.cam5?0`"
config_lines[169]: "mix cam6 `keyboard.key6?0 | semantical.cam6?0`"
config_lines[170]: "mix cam7 `keyboard.key7?0 | semantical.cam7?0`"
config_lines[171]: "mix cam8 `keyboard.key8?0 | semantical.cam8?0`"
config_lines[172]: "mix camcycle `keyboard.key9?0 | semantical.camcycle?0`"
config_lines[241]: "mix headtron `c_ht_on & (trackiron | hmdon | eyeposon)`"
config_lines[242]: "mix headtryaw `sel(trackiron, trackiryaw, 0) + sel(hmdon, hmdyaw, 0) + sel(eyeposon, eyeposyaw, 0)`"
config_lines[243]: "mix headtrpitch `sel(trackiron, trackirpitch, 0) + sel(hmdon, hmdpitch, 0) + sel(eyeposon, eyepospitch, 0)`"
config_lines[245]: "mix headtrx `clamp(sel(trackiron, trackirx, 0) + sel(eyeposon, eyeposx, 0), -0.1, 0.1) + sel(hmdon, hmdx, 0)`"
config_lines[246]: "mix headtry `clamp(sel(trackiron, trackiry, 0) + sel(eyeposon, eyeposy, 0), -0.05, 0.05) + sel(hmdon, hmdy, 0)`"
config_lines[247]: "mix headtrz `clamp(sel(trackiron, trackirz, 0) + sel(eyeposon, eyeposz, 0), -0.2, 0.05) + sel(hmdon, hmdz, 0)`"
config_lines[337]: "mix eyecfg `modifier(shift_only, keyboard.numlock?0)`"
config_lines[463]: "mix headtren ``"
config_lines[466]: "mix eyepreset1 ``"
config_lines[467]: "mix eyepreset2 ``"
config_lines[468]: "mix eyepreset3 ``"
config_lines[469]: "mix eyepreset4 ``"
config_lines[470]: "mix eyepreset5 ``"
NPI AA: viewtopic.php?p=13049#p13049
TRACKIR closed window block: viewtopic.php?p=19250#p19250
Extra multmon_config.sii files to use: viewtopic.php?p=17658#p17658
Post Reply