This file is the most essential car description file. It contains all of the gameplay related information as well as the physical parameters.


Each car needs a correct carinfo.cca to run! If the game crashes this is most likely a cca-related problem. Do not change its structure, e.g. add lines - the Crashday parser is very strict!

All positions are relative to the “main” mesh's center which is defined by its bounding box

When referencing to .whl files that are not contained in the main wheel folder "[crashday]\tools\wheels", NEVER EVER reference to a wheel from another car! Doing this can confuse the Car Manager and it will not make your car work after installation on another machine! It is only valid to reference to a wheel that is in the own car folder itself.


Following an example version of a "carinfo.cca" with explanations (the '#' character introduces a one-line comment).

Example file: carinfo.cca

Explanation

# "Apachee" description file

custom info line

apachee.p3d

obsolete

apachee.p3d

.p3d model file of car

CARMETAL # car material

material type of object, has to be "CARMETAL"

1870 # mass in kg

total mass in KG

0 # -obsolete-

obsolete

0 -0.2 -0.23 # center of gravity

center of gravity


blank line

--- General ---

START OF GENERAL PARAMETER SECTION


blank line

APACHEE 220X # displayed name

full car name, e.g. used from Car Manager

APACHEE

car name short version (max 8 characters). Used for multiplayer lobby

main maincoll mainshad det_l_mirr det_r_mirr gls_front gls_rear gls_right gls_left gls_light0 gls_light_ det_numpl headl_l headl_r headl_lr headl_rr brakel_l brakel_r det_wiper mg_body mg_body.2

this list of space-separated mesh names defines all meshes of a car that will always be visible on a car, whatever tuning configuration is set up for it.
Parts that usually belong to this list are for example "main" (required), "maincoll" (the collision shape), "mainshad" (the shadowing and tracing shape) and things like headlight or window glass meshes.
Parts that are usually no default meshes of a vehicle are bumpers or other tuning kits (basicly everything that can be visually changed using tuning kits). The game grabs the list of these interchangeable meshes from the setup of each tuning kit itself (described below in the tuning section)

A # car "quality class"

defines the default classification of a car. Possible values are "E" (worst), "D", "C", "B" and "A" (best). This classification can also be upgraded with tuning parts (see tuning section below)

default # author of car

author that created the car

driver1.p3d # default driver

.p3d file for default driver 3d model

sports_spoke18.whl # default wheel

defines the default wheel attached to the car. Wheels are identified by a ".whl" file which is either located in the car folder itself or in the global wheel directory [crashday]\trkdata\wheels. This wheel file defines both the wheel's and rim's look as well as the physical driving properties.

NOTE: if you created your own custom wheel, specify it by the string "[foldername].[wheelname].whl". A car folder's name and thus this line might be changed from the CarManager during car installation on another machine.

0.635 # min wheel size

defines the minimum rim diameter (in meters) allowed for wheels

0.76 # max wheel size

defines the maximum rim diameter (in meters) allowed for wheels

enginesounds/apachee/apachee

defines the engine sound set from the sound folder. Each engine sound available has a ".txt" file. The sound set must be specified without the file name extension ".txt".

1 # can change the car's color?

is possible to change the car's paint color ("1") or not ("0")?

2 # number of textures to paint for color change

if a car's paint color can be changed, this value must specify a number of textures to be colored (at least one). If the paint's color can not be changed, this value is "0".

body.tga body2.tga # list of textures for repaint

if a car's paint color can be changed, this line lists all textures to be colored, separated with spaces. If the paint's color can not be changed, this value is "NONE"!

4 # number of car damage textures

defines the number of damage textures (0 or more)

NOTE: after this line, one line for each damage texture follows. If no damage textures are present, the following lines will be omitted!

body.tga -> body2.tga

damage texture 1 (syntax: "[original texture] -> [damage texture]")

glass.tga -> glass2.tga

damage texture 2

misc.tga -> misc2.tga

damage texture 3

lights.tga -> lights2.tga

damage texture 4

15 # number of missiles

defines the default number of missiles on this car

10 # number of mines

obsolete

wide # type of numplate

type of license plate on the car. Possible values are "wide" (wide EU style), "narrow" (narrow style) or "us" (American style). Usual global textures to use are "l_def.tga" (wide), "s_def.tga " (narrow) or "u_def.tga " (US). For which license plate you decide depends on the dimensions of the plate that you have put on your car model

shadow.tga # shadow texture

texture of the car shadow (required)

0.97 # shadow dimension width

scaling of shadow plate in width axis

0.97 # shadow dimension depth

scaling of shadow plate in depth axis

0 # shadow shift in width direction

shifting of shadow plate in width axis (in meters)

0 # shadow shift in depth direction

shifting of shadow plate in depth axis (in meters)


blank line

--- Engine ---

START OF ENGINE PARAMETER SECTION

 

blank line

4wd # drive ("front", "rear", "4wd")

defines the type of drive. Possible values are "4wd", "front" or "rear"

611 # horsepowers

horse powers of the car. Only used as a statistical value

6 # gears (w/o rear+neutral)

number of gears, not counting neutral and reverse

94 # top speed (in m/s)

top speed of car in m/s. To convert a km/h value to m/s divide by 3.6

580 # Max. Engine torque in Nm

maximum engine torque in Nm. For a specific RPM, the maximum torque is multiplied with the value of the normalised torque curve at that specific RPM point to retrieve the actual amount of torque

-80 # Max. braking torque in Nm

maximum braking torque in Nm.

apachee.crv # File of torque curve

torque curve file containing the normalised torque curve of the engine. Alternatively, you can use "default" to use a common default torque curve

9000 # Max RPM

maximum engine RPM

1700 # Idle RPM (startup rpm)

idle RPM

4500 # Shift-down-RPM

lowest RPM point to shift down in automatic shifting

8000 # Shift-up-RPM

highest RPM point to shift up in automatic shifting

-3.58 3.7 2.5 1.8 1.4 1.15 0.95 # Gear ratios

gear ratios, starting with reverse gear followed by other non-neutral gears

3.18 # Differential ratio

differential ratio


blank line

--- Physics ---

START OF PHYSICS AND DRIVING PARAMETER SECTION


blank line

0.012 # energy loss

amount of damage inflicted to own car in crashes

4 # crash-damage multiplier

amount of damage inflicted to other cars in crashes (final damage inflicted also depends on mass, i.e. this value is something like "damage per kg")

0.6 # deform factor

car body deformation amount

34 # Wheel turn velocity (angle/s)

steering velocity (in angle units/s)

20 # Max wheel turn angle

maximum possible wheel turn angle (full circle is 256 degrees)

20 # Min wheel turn angle

obsolete

40 # min turn angle speed

obsolete

140 # spring stiffness

suspension spring stiffness. Too high values can blow up the integrator!

8 # spring damping

shock absorber strength for springs. Be careful not to choose too high values! It might blow up the physics engine!

0.1 # suspension spring length

maximum length of suspension springs in meters. Sometimes it helps to just use the double value of what you think would be right

0.1 # vert. anti-roll aid

anti-roll aid to avoid flipping over of cars during cornering. This value defines how much to lift up the point where contact patch wheel forces act on the car (in meters). Usually a relatively small value is enough

0.4 # strength of handbrake

strength of the handbrake "turn effect" in the range from 0 to 1


blank line

--- Positions ---

START OF POSITIONS SECTION


blank line

-0.92 -0.28 1.36 # left, upper wheel

position of the left front wheel (suspension fully compressed)

NOTE: Y values (vertical) of front and rear wheels should not differ more than 5 cm from each other to avoid handling issues!

1.03 -0.28 -1.4 # right, lower wheel

position of the right rear wheel (suspension fully compressed)

-1.18 0.15 0.4 # pos of minigun

position of the minigun barrel

0 # angle of minigun

pitch angle of the minigun barrels (full circle is 256 degrees). A negative values means pointing down.

0 -0.2 -2 # mine spawn point

obsolete

-0.4 -0.0 0 #missile starting point

missile spawning position

-0.38 -0.05 0.15 # driver position

driver mesh position

-0.29 -0.2 -2.17 # exhaust position 1

position of the (first) exhaust. This position is used to apply exhaust flames.

NOTE: different tuning bumpers can also have different exhaust positions. In this case you need to adjust the exhaust positions with special parameters in the tuning section.

-0.29 -0.2 -2.17 # exhaust position 2 (if only one exhaust ex1=ex2)

position of the second exhaust. This position is used to apply exhaust flames. If no second exhaust is available just keep the position equal to the first exhaust.

NOTE: different tuning bumpers can also have different exhaust positions. In this case you need to adjust the exhaust positions with special parameters in the tuning section.

0.5 0.2 1 # CTF flag

position of the HoldTheFlag smiley

0.0 0.4 0 # PTB bomb

position of the attached bomb model

-0.3 0.42 0.2 # cockpit cam

position of cockpit cam

0 0.35 1.1 # hood cam

position of hood cam

0 0.0 2.1 # bumper cam

position of bumper cam

0 0.6 -0.6 # car-attached rear view

position of car-attached rear view cam

-1.3 0.2 0.1 # cam on left car side

position of cam attached to left car side

-0.9 0.6 1.4 # cam on right car side

position of cam attached to right car side

0 0.42 0 # Driver cam 1

obsolete. Keep 3 values on this line anyway!

-0.4 0.42 0.5 # Driver cam 2

obsolete. Keep 3 values on this line anyway!

-1.5 0.42 0.1 # Driver cam 3

position of driver camera 3 (looking sidewards to the driver)

-0.33 0.1 0.55 # steering wheel

position of steering wheel

0 0 0 # car cover plane

position of fabric car cover plane visible in career shop (usually not available for custom cars)


blank line

--- Tuning ---

START OF TUNING SECTION


blank line

1

number of car tuning parts.

NOTE: See below for all details regarding the tuning section


blank line

// Turbokit

one line per tuning part: variable comment

name=eng_turbo p3dmesh1=turbo_inta turbonoise=100 backfires=1 add_horsepower=110 add_torquenm=150

one line per tuning part: tuning part identifier and properties. The line can contain a variable number of arguments, separated by spaces and assigning values by the '=' character.

NOTE: See below for all details regarding the tuning section


blank line

--- colors ---

START OF COLORS SECTION


blank line

21 140 255 # Default color

active car color right after purchasing the car

6 # Available colors

number of preset car colors in garage screen, at least one is required. If you defined a car that does not support changing the paint's color, this line must be "1".

0 22 85 # nice dark blue

list of pre-set colors, one line for each color

21 140 255 # bright tuning-like blue


193 213 228 # silver


212 255 191 # bright pastell green


221 255 63 # poison-green


255 226 42 # lambo-style yellow



blank line

--- AI ---

START OF AI/MULTIPLAYER PRESET TUNING SECTION


blank line

1 # predefined AI tuning setups

number of preset setups available.

NOTE: after this line, one line for each AI/multiplayer preset follows

name=race-0

class=A

setup=eng_turbo|fw_default

wheel=supersport_s1_17.whl

one line with the keywords "name", "class", "setup" and "wheel", seperated by spaces. Each keyword is assigned a value.

'name' is a unique name identifier for this preset .
'class' is the vehicle class (A=best, E=worst).
'setup' is a list of tuning items which are applied in this tuning preset. The different tuning name identifiers are seperated by the pipe character '|'.
'wheel' is the name of the .whl file applied to this preset

NOTE: if you created your own custom wheel, specify it by the string "wheel=[foldername].[wheelname].whl". A car folder's name and thus this line might be changed from the CarManager during car installation on another machine.


end of file


This documentation omits the so-called “VISIBILITIES” section of the .cca which is useful for performance tweaking. It defines flags to indicate which meshes will be visible from which viewing direction to save rendering batches.
As this feature is rather complicated and not totally essential, we will skip it in this document. In your .cca file, just end the file after the AI preset kits section.



Tuning section
Each car can have a variable number of tuning parts. A tuning part can either change visual, physical or both aspects of a car. The total number of tuning parts per car must be specified and each tuning part must be given a unique identifier string.

Each tuning part in the carinfo.cca must have a corresponding shop part in the car's shop.lst (see Shop and tuning parts) with the same identifier name! Otherwise car tuning parts won't have any effect. (example: you define one tuning part for your car, which is a tuning front bumper part named "fbmp1". The corresponding shop part list must also then define a shop part for this bumper part and also name it "fbmp1")


This list defines all possible parameters that can be part of a tuning. Each of these elements can be combined.

add_carclass=

upgrades the car's car classification. This can "0.5", "1", "1.5", "2". An upgrade of "1" is equal to increase the classification by one classification letter, like from a "B" to an "A" car.

PHYSICAL TUNING

add_massadd=

changes car mass. +/- value in kg is added to current mass

add_horsepower=

changes horse power (only statistical value). +/- value is added to the current horse power

add_topspeed=

changes top speed. +/- value in m/s is added to the current top speed

add_torquenm=

changes acceleration torque. +/- value in Nm is added to the current torque value

brake=

changes brake strength. Value is multiplied with current brake value

diffratio=

changes the differential ratio. Value is multiplied with the current ratio

energyloss=

changes damage inflicted to own car. Value is multiplied with current energy loss value

crashpower=

changes damage inflicted to other cars. Value is multiplied with current crash power

deform=

changes car deformation strength. Value is multiplied with the current deformation value

springstiffness=

changes suspension spring stiffness. Value is multiplied with the current stiffness value

springrange=

changes suspension spring length. Value is multiplied with the current length value

springdamping=

changes suspension spring damping. Value is multiplied with the current damping value

add_antirollheight=

changes anti-roll aid. +/- value in meters is added to current anti-roll aid height

add_trackfront=

changes the front wheel track. +/- value in meters is used to move each front wheel away from the center

add_trackrear=

changes the rear wheel track. +/- value in meters is used to move each rear wheel away from the center

add_wheelposyfront=

changes the vertical position of the front wheels (with fully compressed suspension). +/- value in meters is added to the current vertical position

add_wheelposyrear=

changes the vertical position of the rear wheels (with fully compressed suspension). +/- value in meters is added to the current vertical position

DECALS/VINYLS & EFFECT PAINT

decaltype=

value has to be “decal” (a maximum of 4 decals is possible)

decal1=

decal texture file 1

decal2=

decal texture file 2

decal3=

decal texture file 3

decal4=

decal texture file 4

decalcolor=

RGB hex color value to be multiplied with the decal textures (without '#' or '0x')

tex1toapplydecal1=

name of first car texture where to apply the decal texture 1

tex2toapplydecal2=

name of second car texture where to apply the decal texture 2

tex3toapplydecal3=

name of third car texture where to apply the decal texture 3

tex4toapplydecal4=

name of fourth car texture where to apply the decal texture 4

OTHER

engsound=

changes the selected engine sound set (see above for explanations)

turbonoise=

changes the volume of the turbo blow off valve sound in the range from 0-1. The default volume is defined per engine in its engine sound set file

gearboxnoise=

changes the volume of the rally-style gear box noise in the range from 0-1. The default volume is defined per engine in its engine sound set file

backfires=

changes the intensity and amount of exhaust backfires in the range from 0-1. The default value is defined per engine in its engine sound set file

ignitionsound=

changes the ignition sound of the engine. The default sound is defined per engine in its engine sound set file

add_missilecapacity=

add a certain number of missiles to the car

shift_exhaust1x=

shifting of first exhaust in x position

shift_exhaust1y=

shifting of first exhaust in y position

shift_exhaust1z=

shifting of first exhaust in z position

shift_exhaust2x=

shifting of second exhaust in x position

shift_exhaust2y=

shifting of second exhaust in y position

shift_exhaust2z=

shifting of second exhaust in z position

ATTACH/DETACH MESHES WITH A TUNING

p3dmesh1=
...
p3dmesh16=

these commands allow to attach up to 16 meshes to the car. Meshes, that are not part of a tuning, must be defined in the "default mesh list" (see top of carinfo.cca)

removemesh1=
...
removemesh16=

these commands allow to remove up to 16 meshes from the car. To remove a mesh, it must have been added to the "default mesh list" before (see top of carinfo.cca) (a typical use for the remove-function would for example be to remove a license plate on a tuned car rear)