Dev: build system info - ohyeah2389/Assetto-T-180 GitHub Wiki

The build system is designed to generate multiple similar vehicles from a base template and one or more overriding configurations representing each individual vehicle. The repository root folder Source contains one base template folder base, an info.toml file containing version, year, and build exclude data, and one or more car configuration source folders with the name format author_t180_vehiclename.

Each car's source folder should contain the car's unique data, a (non-exhaustive) list of which is below:

  • Animations (animations folder (steer.ksanim, shift.ksanim), driver_base_pos.knh)
  • Physics data (car_config.lua and car-specific data overrides, like torque curves, final drive/gearing, drivetrain.ini, etc.)
  • Extension data (car_coordinates.lua)
  • Sound data (there are custom FMOD bank sound names that should be used, refer to the Sound page for that info)
  • Skins
  • UI info (badge.png, ui_car.json)
  • Model files (collider.kn5, model.kn5 (which, in a normal car, would be named the same as the car's folder name, but the builder handles that automatically), *_shadow.png, logo.png)

The base folder contains common files that every car will use, such as the suspension configuration, the steering controller code, and the graphics effects code. If a file is present in both the base template and a car config, the file from the car config will completely override the file from the base folder. Do not use this functionality to override a file unless absolutely necessary. Updates to the base system could improve or change those files and the system should continue to work unless a car config overrides the changes made to the base files. Additionally, certain files are not designed to be overwritten:

  • script_*.lua
  • ctrl_*.ini
  • electric_*.lua
  • tyres.ini
  • tire_*.lut
  • suspensions.ini
  • setup.ini or any LUT referenced by it