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. |
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. |
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) |
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. |
|
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. |
|
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. |
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. |
|
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= |
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= |
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) |