CarUtil

Turn a truck mod into a Road Trip car.

CarUtil reads a truck-classified American Truck Simulator mod and writes a new one: a car that appears in the Car Dealer, drives on car physics, and keeps everything the mod shipped.

One command, and a .scs next to the mod you pointed at.

Install See the options

· clones
· people cloning
· stars
· commits
Clones a day, from the GitHub traffic API Star history, from the GitHub event stream

Clones come from the traffic API and stars from the public event stream; both are fetched by tools/fetch_stats.py, which draws the chart above. The repository was created on ·.

Install

Clone it and run the launcher. The launcher sets up a private Python environment, offers to install the two packages the menus use, and offers to install ImageMagick for the brand logos.

$ git clone https://github.com/piskevalee-cpu/CarUtil
$ cd CarUtil

# macOS and Linux
$ bash carutil.sh

# Windows
$ carutil.bat

What it needs

Python
3.9 or newer. The launcher offers to install it if it is missing.
questionary, rich
The arrow menus and the coloured output. Both are optional: the converter falls back to numbered menus and plain text without them.
ImageMagick
Optional, and only for the brand logo. Without it the car keeps the mod's own logo or a flat placeholder; the conversion still completes.

What it needs from you

A mod
Any truck-classified ATS mod. The Road Trip DLC has to be owned for the converted car to be drivable in Car Mode.
Nothing else
No account, no service, no network. The converter runs entirely on your machine.

Documentation

What gets rewritten

PartWhat the converter does
data.sii Writes tags[] in the game's own vocabulary (pickup, suv, sedan, muscle, veteran, sport, offroad), the third info[] line the game asks for by name, and fallback[] entries that pre-select the parts the mod's own dealer unit names.
Chassis Car-sane travel, damping, brake rotor, disc brake, axle type, drag, cog height, sway bar, steering angle and a 12 V system. A truck's kerb weight is replaced; a car's is kept.
Engine The torque curve is rebuilt on the shape SCS ships, with a (0, 0) origin, the idle torque halved so the car does not walk away, and the truck-only keys dropped. The rev bands the automatic shifts on are written when the mod has none.
Gearbox Stall ratio, converter settings, and the final drive: a truck's top gear is geared for forty tonnes and leaves the automatic below its own power band.
Wheels The grip keys SCS's own car wheels declare, so the car does not inherit the truck's tyre calibration.
Registration car_dealer, car_desktop, car_company, truck_desktop and truck_company, one vendor folder per brand.
Dashboard A dashboard that points at a template unit nobody ships is the same death as a missing model: the game dies loading it. The missing units are written into the file that dashboard needs, and a stale dashboard path is repointed at the one the vehicle's own parts use.
Logo A 256×64 DXT5 texture with its material and object files, in both the truck and the car logo directories, named after the brand and the vendor.

What it will not do

Types, and what they are for

pickup2400 kg
offroad2200 kg
suv2200 kg
muscle1700 kg
classic1550 kg
sedan1220 kg
sports1280 kg

The weight is only a starting point. Enter the real one when you know it.

It is tested

Every conversion claim on this page has a test behind it: the byte formats, the DXT5 logo header, the ZIP conventions the game's loader insists on, and the whole guided walkthrough.

Usage

Run it with no arguments and it asks you seven questions; run it with arguments and it says nothing.

  1. 1Find your modthe .scs, or an unpacked folder
  2. 2Body typepickup · suv · sedan · muscle · classic · sports · offroad
  3. 3Brandthe manufacturer the Car Dealer shows
  4. 4Kerb weightone number, or one per axle
  5. 5Enginepeak horsepower, and where it peaks
  6. 6Pricewhat the Car Dealer should charge
  7. 7Convertthe report, then the archive
$ python3 scripts/carutil.py "mods/my-car.scs" \
    --no-prompt --type suv --brand porsche --mass 2069 \
    --power 300 --peak-power-rpm 5000 --price 45000 \
    -o my-car-roadtrip.scs

The options worth knowing

--type TYPEBody category. The game's own spellings are normalised too: sport, veteran, crossover and the rest all land on a preset.
--brand BRANDManufacturer the car is filed under. The vendor folder is named after it, so each brand keeps its own logo.
--mass KGKerb weight: a total (2069) or front,rear (1150,1050). Written across the mod's real axle count.
--power HPTarget peak power. Prefer this to --acceleration: it bounds the top end as well as the launch.
--acceleration SECONDSTarget 0-60 mph time instead. The torque is derived from it and the mass.
--peak-power-rpm RPMWhere the power peaks. Held between the engine's own idle and its own limiter.
--rev-limit RPMThe ceiling. Left alone, the engine keeps the limiter the author wrote, as SCS's own cars keep theirs.
--shift-up-rpm RPMWhere the automatic changes up. Only the band's upper bound moves.
--air-resistance COEFFDrag. SCS's cars use 0.37-0.596; this is how a car of a given power gets a sane top speed.
--price DOLLARSWhat the dealer charges. The whole accessory price table scales by one factor, so the upgrade menu stays proportionate.
--extra-tags TYPESExtra categories for tags[], so the car can satisfy more than one kind of cargo job.
--no-prompt · --dry-run · --pathNever ask. Report without writing. Show where the game and the mod folder are.

Where things are

It finds both the game and your mod folder on its own, including inside a Proton or Wine prefix, and says where they are.