Properties (.txt)


This feature has been introduced in version 17.1124a.

Level properties are similar to parameters.txt for cars. They allow you to customize certain aspects of your tracks:

  • Materials
    • Grip, roughness, hardness
    • Bump profile (corrugation)
    • Sounds
  • Particle effects
    • Particles used by weapons
    • Dust (appears when driving on some materials)
    • Particle trails

RVGL looks for a properties.txt file when loading a level. If such a file exists, the original materials and effects will be replaced with the ones in the file.

This can be used to tweak existing materials so they fit your track better or even to create entirely new materials like snow.

properties_default.txt

This file contains all stock properties. You can use this to base you custom properties on.

A material structure provides information about the surface cars drive on. Each material has a unique ID. In total, 27 different materials can be used.

ID Material ID Material
0 Default 14 Pebbles
1 Marble 15 Gravel
2 Stone 16 Conveyor 1
3 Wood 17 Conveyor 2
4 Sand 18 Dirt 1
5 Plastic 19 Dirt 2
6 Carpet Tile 20 Dirt 3
7 Carpet Shag 21 Ice 2
8 Boundary 22 Ice 3
9 Glass 23 Wood 2
10 Ice 1 24 Conveyor Market 1
11 Metal 25 Conveyor Market 2
12 Grass 26 Paving
13 Bump Metal

To override a material, add the following to your properties.txt file:

MATERIAL {
  ID               10               ; ID of the material to replace [0 - 26]
  Name             "Ice 1 Snow"     ; Display name

  Spark            true             ; Material emits particles
  Skid             true             ; Skid marks appear on material
  OutOfBounds      false            ; Not implemented
  Corrugated       true             ; Material is bumpy
  Moves            false            ; Moves cars like museum conveyors
  Dusty            true             ; Material emits dust

  Roughness        0.4              ; Roughness of the material
  Grip             0.4              ; Grip of the material
  Hardness         0.2              ; Hardness of the material

  SkidSound        87               ; Sound when skidding [0:Normal, 1:Rough]
  ScrapeSound      1                ; Car body scrape [0:Normal]

  SkidColor        207 215 220      ; Color of the skid marks
  CorrugationType  2                ; Type of bumpiness [0 - 7]
  DustType         2                ; Type of dust
  Velocity         0.0 0.0 0.0      ; Speed and direction cars are moved in
}

In this case, we're overriding the ICE1 material (ID 10).

If you're looking for materials to safely override: DIRT1, DIRT2 and DIRT3 share the same values, there is no difference between them at all. CARPETSHAG and CARPETTILE also have the same values.

Property Description Recommended Defaults
ID Unique ID number of the material you want to override. It's advised to override materials that aren't used in-game or have the same properties as others (DIRT2, DIRT3, CARPETTILE, PAVEMENT, etc.).
Name Display name, not used by the game. -
Spark The material emits particles that are defined by the assigned dust. true or false.
Skid If true, cars leave skid marks on the ground. true for most materials.
OutOfBounds Not used in the game (yet). false.
Corrugated Makes the surface bumpy. true or false.
Moves Material moves the cars like the museum conveyors. true or false.
Dusty Material generates dust when cars drive on it. true or false.
Roughness Roughness of the material. Between 0.1 and 1.0.
Grip Grip of the material. Between 0.1 and 1.0.
Hardness Hardness of the material. Between 0.1 and 1.0.
SkidSound Sound when cars skid on the material (when the wheels lose traction or drift). 6 (normal) or 7 (rough)
ScrapeSound Sound when cars scrape on the material (when the body touches the ground). 6 (normal) or 7 (rough)
SkidColor Color of the wheel's skid marks. 50 50 50
CorrugationType ID of the corrugation to use for this material. Corrugated needs to be true. 0
DustType ID of the dust type to use for this material. Dusty needs to be true. 0
Velocity Velocity with which the cars are pushed around with if Moves is true. Multiples of 100.0 should be used.

Use these IDs for the SkidSound and ScrapeSound properties.

To use more than IDs 6 and 7 for normal and rough skid sounds, stock track sounds can be replaced. For example, rattler.wav from Ghost Town could be replaced with a custom skid sound.
To do so, place a file named rattler.wav in your track's custom folder and use ID 89 in your properties.txt file.

ID Sound path ID Sound path
0 moto.wav 53 hood/birds3.wav
1 petrol.wav 54 hood/dogbark.wav
2 clockwrk.wav 55 hood/kids.wav
3 ufo.wav 56 hood/sprink.wav
4 honkgood.wav 57 hood/tv.wav
5 scrape.wav 58 hood/lawnmower.wav
6 skid_normal.wav 59 hood/digger.wav
7 skid_rough.wav 60 hood/stream.wav
8 pickup.wav 61 hood/cityamb2.wav
9 pickgen.wav 62 hood/roadcone.wav
10 shock.wav 63 garden/tropics2.wav
11 shockfire.wav 64 garden/tropics3.wav
12 electro.wav 65 garden/tropics4.wav
13 electrozap.wav 66 garden/stream.wav
14 firefire.wav 67 garden/animal1.wav
15 firebang.wav 68 garden/animal2.wav
16 balldrop.wav 69 garden/animal3.wav
17 ball.wav 70 garden/animal4.wav
18 hit2.wav 71 muse/museumam.wav
19 wbomb.wav 72 muse/laserhum.wav
20 wbombfire.wav 73 muse/alarm2.wav
21 wbombhit.wav 74 muse/escalate.wav
22 wbombbounce.wav 75 muse/rotating.wav
23 puttbang.wav 76 muse/largdoor.wav
24 fuse.wav 77 market/aircond1.wav
25 oildrop.wav 78 market/cabnhum2.wav
26 countdown.wav 79 market/carpark.wav
27 turbo.wav 80 market/freezer1.wav
28 servo.wav 81 market/iceyarea.wav
29 menunext.wav 82 market/sdrsopen.wav
30 menuprev.wav 83 market/sdrsclos.wav
31 menuupdown.wav 84 market/carton.wav
32 menuleftright.wav 85 ghost/coyote1.wav
33 lightflk.wav 86 ghost/bats.wav
34 boxslide.wav 87 ghost/eagle1.wav
35 starfire.wav 88 ghost/minedrip.wav
36 tvstatic.wav 89 ghost/rattler.wav
37 splash.wav 90 ghost/townbell.wav
38 honka.wav 91 ghost/tumbweed.wav
39 beachball.wav 92 ship/intamb1.wav
40 bottle.wav 93 ship/seagulls.wav
41 toy/piano.wav 94 ship/shiphorn.wav
42 toy/plane.wav 95 ship/strmrain.wav
43 toy/copter.wav 96 ship/thunder1.wav
44 toy/dragon.wav 97 ship/wash.wav
45 toy/creak.wav 98 roof/traffic_mush.wav
46 toy/train.wav 99 roof/helicopter_loop.wav
47 toy/whistle.wav 100 roof/siren_loop.wav
48 toy/arcade.wav 101 roof/wind_loop.wav
49 toy/toybrick.wav 102 roof/steamhiss_loop.wav
50 hood/basketball.wav 103 roof/electric_hum.wav
51 hood/birds1.wav 104 roof/telemetry.wav
52 hood/birds2.wav 105 roof/air_con.wav

Corrugation structures define the bumpiness of the surface. There are 8 types available.

ID Corrugation ID Corrugation
0 NONE 4 CONVEYOR
1 PEBBLES 5 DIRT1
2 GRAVEL 6 DIRT2
3 STEEL 7 DIRT3

To override a corrugation, paste the following snipped into your properties.txt:

CORRUGATION {
  ID              1                             ; Corrugation to replace [0-7]
  Name            "Name"                        ; Display name

  Amplitude       0.000000                      ; Amplitude of bumps (strength)
  Wavelength      0.000000 0.000000             ; Frequency of bumps
}

Property Description Recommended Defaults
ID ID of the corrugation type to override. 0 - 7
Name Name of the corrugation. Not used in-game. -
Amplitude Strength of the corrugation (height of the bumps) 0.0 - 5.0
Wavelength Frequency of the bumps 0.0 - 100.0

Dust structures are a set of two particles with a probability and variance. Materials emit dust when cars drive on them.

ID Dust
0 NONE
1 GRAVEL
2 SAND
3 GRASS
4 DIRT
5 ROAD

To override a dust type, copy the following snippet into your properties.txt:

DUST {
  ID              1                             ; Dust to replace [0 - 5]
  Name            "GRAVEL"                      ; Display name

  SparkType       4                             ; Particle to emit [0 - 30]
  ParticleChance  0.600000                      ; Probability of a particle
  ParticleRandom  0.600000                      ; Probability variance

  SmokeType       29                            ; Smoke particle to emit [0-30]
  SmokeChance     0.300000                      ; Probability of a smoke part.
  SmokeRandom     0.600000                      ; Probability variance
}

Property Description Recommended Defaults
ID ID of the dust type to override. 0 - 5
Name Display name of the dust type, not used in-game. -
SparkType ID of the particle to emit. 0 - 30
ParticleChance The probability of a particle to be emitted. 0.0 - 1.0
ParticleRandom Variance of the probability. 0.0 - 1.0
SmokeType ID of the smoke particle to emit. 0 - 30
SmokeChance The probability of smoke to be emitted. 0.0 - 1.0
SmokeRandom Variance if the probability. 0.0 - 1.0

Particles (also called sparks) can be emitted by materials, weapons, cars and other objects.

ID Particle
0 SPARK
1 SPARK2
2 SNOW
3 POPCORN
4 GRAVEL
5 SAND
6 GRASS
7 ELECTRIC
8 WATER
9 DIRT
10 SMOKE1
11 SMOKE2
12 SMOKE3
13 BLUE
14 BIGBLUE
15 SMALLORANGE
16 SMALLRED
17 EXPLOSION1
18 EXPLOSION2
19 STAR
20 PROBE_SMOKE
21 SPRINKLER
22 SPRINKLER_BIG
23 DOLPHIN
24 DOLPHIN_BIG
25 SPARK3
26 ROADDUST
27 GRASSDUST
28 SOILDUST
29 GRAVELDUST
30 SANDDUST

To override a particle, copy the following snippet into your properties.txt:

SPARK {
  ID              0                             ; Particle to replace [0 - 30]
  Name            "SPARK"                       ; Display name

  CollideWorld    true                          ; Collision with the world
  CollideObject   true                          ; Collision with objects
  CollideCam      true                          ; Collision with camera
  HasTrail        false                         ; Particle has a trail
  FieldAffect     true                          ; Is affected by force fields
  Spins           false                         ; Particle spins
  Grows           false                         ; Particle grows
  Additive        true                          ; Draw particle additively
  Horizontal      false                         ; Draw particle flat

  Size            1.000000 1.000000             ; Size of the particle
  UV              0.937500 0.000000             ; Top left UV coordinates
  UVSize          0.062500 0.062500             ; Width and height of UV
  TexturePage     47                            ; Texture page
  Color           255 255 255                   ; Color of the particle

  Mass            0.100000                      ; Mass of the particle
  Resistance      0.020000                      ; Air resistance
  Friction        0.100000                      ; Sliding friction
  Restitution     0.500000                      ; Bounciness

  LifeTime        0.500000                      ; Maximum life time
  LifeTimeVar     0.050000                      ; Life time variance

  SpinRate        0.000000                      ; Avg. spin rate (radians/sec)
  SpinRateVar     0.000000                      ; Variation of the spin rate

  SizeVar         0.000000                      ; Size variation
  GrowRate        0.000000                      ; How quickly it grows
  GrowRateVar     0.000000                      ; Grow variation

  TrailType       1                             ; ID of the trail to use
}

Property Description Recommended Defaults
ID ID of the particle to replace. 0 - 30
Name Display name of the particle, not used in-game. -
CollideWorld The particle collides with the world (geometry from the .w file). true or false
CollideObject The particle collides with objects (cars and other level objects). true or false
CollideCam The particle collides with the camera (currently not implemented). false
HasTrail The particle has a trail. true or false
Field Affect The particle is affected by force fields. true or false
Spins The particle rotates. true or false
Grows The particle grows bigger. true or false
Additive The particle is rendered additively: Black becomes transparent and bright colors are added to the underlying things. true or false
Horizontal Instead of facing the camera, the particle is flat. true or false
Size Size of the particle. 1.0 1.0
UV Top left UV-coordinate of the mapping. 0.0 0.0 is top left and 1.0 1.0 is bottom right. -
UVSize Width and height of the UV mapping (bottom right corner). -
TexturePage Texture the particle will be mapped to. 47 is fxpage1, 0-9 are track textures.
Color RGB Color of the particle. 255 255 255
Mass Mass of the particle.
Resistance Air resistance of the particle (how slowly it travels through the ari).
Friction Frichtion when touching collideable objects.
Restitution Bounciness of the particle.
LifeTime How long the particle lives. If this is too high, the creation of other particles might be prevented.
LifeTimeVar Variance of the life time.
SpinRate The spin rate in radians per second.
SpinRateVar Variation of the spin rate.
SizeVar Initial size variation.
GrowRate How quickly the particle grows.
GrowRateVar Variation of the grow rate.
TrailType ID of the trail if enabled. 0 - 2

Trails are similar to particles. They follow particles. They're used for fireworks and some sparks.

ID Trail
0 FIREWORK
1 SPARK
2 SMOKE

To override a spark type, copy the following snippet into your properties.txt:

TRAIL {
  ID              1                             ; Trail to replace [0 - 2]
  Name            "SPARK"                       ; Display name

  Fades           true                          ; Trail fades out
  Shrinks         true                          ; Trail shrinks
  Expands         false                         ; Trail expands
  UV              0.960938 0.000000             ; UV coord for trail segments
  UVEnd           0.960938 0.000000             ; UV coord for last segment
  UVSize          0.007812 0.062500             ; Width and height of both UV
  Color           255 255 255 255               ; Alpha, Red, Green, Blue
  LifeTime        0.030000                      ; Maximum life time
  Width           1.000000                      ; Width of segments
  Length          2                             ; Number of segments
}

Property Description Recommended Defaults
ID ID of the trail to override. 0 - 2
Name Display name of the trail, not used in-game. -
Fades The trail fades out. true or false
Shrinks The trail segments get smaller. true or false
Expands The trail segments get bigger. true or false
UV Top left UV-coordinate of the mapping of the first trail segments. 0.0 0.0 is top left and 1.0 1.0 is bottom right. -
UVEnd Top left UV-coordinate of the mapping of the last trail segment. 0.0 0.0 is top left and 1.0 1.0 is bottom right.
UVSize Width and height of the UV mapping (bottom right corner). -
Color Alpha, Red, Green, Blue color of the trail. 255 255 255 255
LifeTime How long he trail segments live.
Width Width of the trail segments.
Length Number of trail segments. 1 - 12

Found errors? Think you can improve this documentation? edit this page