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, though an exception is made for Protocars to hide T-180 specific options
You can partially override INI files by creating a basename.addon.ini
file containing only the sections and their key-value pairs you want to override. Note that this only strictly supports classical INI files, not Ilja's INIpp extended files, so ext_config.ini
s might not reliably work. For example, I've done this to change some values for the Proto cars' tire physics while carrying over all the other attributes so that changes to the base tire model config will propagate to the Proto cars.
You can use the addon system to delete sections of the base INI as well, such as for removing the T-180 specific setup sections from the Protocars. Simply include the section header and a single key-value pair DELETE=1
and the section will not appear in the built car's data.