The .csv route format - Quick reference

Notes:
  Arguments highlighted in green are affected by Options.UnitOfLength.
  Arguments highlighted in blue are affected by Options.UnitOfSpeed.
  Optional suffixes are indicated in gray. Mandatory suffixes are bolded.
  Syntax variations are not possible with the $-directives.
  The statement separator is the , character.


Track positions
Number
Number1 : Number2 : ... : Numbern

Preprocessing directives
$Include(File1; Weight1; File2; Weight2; ...)
$Chr(AsciiCode)
$Rnd(Minimum; Maximum)
$Sub(VariableIndex) = Value
$Sub(VariableIndex)
$If(Condition)
$ElseIf()
$EndIf()

Options namespace
Options.UnitOfLength FactorInMeters1; FactorInMeters2; ...; FactorInMetersn
Options.UnitOfSpeed FactorInKmph
Options.BlockLength Length
Options.ObjectVisibility { 0 = legacy | 1 = track-based }
Options.SectionBehavior { 0 = index-based | 1 = value-based }
Options.CantBehavior { 0 = unsigned | 1 = signed }
Options.FogBehavior { 0 = block-wise | 1 = interpolated }
Options.CompatibleTransparencyMode { 0 = Specific Matching | 1 = Fuzzy Matching }
Options.EnableBveTsHacks { 0 = Disabled | 1 = Enabled }

Route namespace
Route.Comment Text
Route.Image FileName
Route.Timetable Text
Route.Change { -1 = service brakes (ATS) | 0 = emergency brakes (no ATS) | 1 = service brakes (ATS) }
Route.Gauge ValueInMillimeters
Route.Signal(Aspect).Set Speed
Route.RunInterval Interval0; Interval1; ...; Intervaln-1
Route.AccelerationDueToGravity Value
Route.Elevation Height
Route.Temperature ValueInCelsius
Route.Pressure ValueInKPa
Route.DisplaySpeed UnitText; ConversionFactor
Route.LoadingScreen Image
Route.StartTime Time
Route.DynamicLight Dynamic.xml
Route.AmbientLight RedValue; GreenValue; BlueValue
Route.DirectionalLight RedValue; GreenValue; BlueValue
Route.LightDirection Theta; Phi

Train namespace
Train.Folder FolderName
Train.File FolderName
Train.Run(RailTypeIndex).Set RunSoundIndex
Train.Rail(RailTypeIndex).Set RunSoundIndex
Train.Flange(RailTypeIndex).Set FlangeSoundIndex
Train.Timetable(TimetableIndex).Day.Load FileName
Train.Timetable(TimetableIndex).Night.Load FileName
Train.Gauge ValueInMillimeters
Train.Interval Interval0; Interval1; ...; Intervaln-1
Train.Velocity Speed

Structure namespace
Structure.Rail(RailStructureIndex).Load FileName
Structure.Ground(GroundStructureIndex).Load FileName
Structure.WallL(WallStructureIndex).Load FileName
Structure.WallR(WallStructureIndex).Load FileName
Structure.DikeL(DikeStructureIndex).Load FileName
Structure.DikeR(DikeStructureIndex).Load FileName
Structure.FormL(FormStructureIndex).Load FileName
Structure.FormR(FormStructureIndex).Load FileName
Structure.FormCL(FormStructureIndex).Load FileName
Structure.FormCR(FormStructureIndex).Load FileName
Structure.RoofL(RoofStructureIndex).Load FileName
Structure.RoofR(RoofStructureIndex).Load FileName
Structure.RoofCL(RoofStructureIndex).Load FileName
Structure.RoofCR(RoofStructureIndex).Load FileName
Structure.CrackL(CrackStructureIndex).Load FileName
Structure.CrackR(CrackStructureIndex).Load FileName
Structure.FreeObj(FreeObjStructureIndex).Load FileName
Structure.Beacon(BeaconStrctureIndex).Load FileName
Structure.Pole(NumberOfAdditionalRails; PoleStructureIndex).Load FileName

Texture namespace
Texture.Background(BackgroundTextureIndex).Load FileName
Texture.Background(BackgroundTextureIndex).X RepetitionCount
Texture.Background(BackgroundTextureIndex).Aspect { 0 = fixed height | 1 = keep aspect ratio }

Cycle namespace
Cycle.Ground(GroundStructureIndex).Params GroundStructureIndex1; GroundStructureIndex2; ...; GroundStructureIndexn
Cycle.Rail(RailStructureIndex).Params RailStructureIndex1; RailStructureIndex2; ...; RailStructureIndexn

Signal namespace
Signal(SignalIndex).Load AnimatedObjectFile
Signal(SignalIndex).Load SignalFileWithoutExtension; GlowFileWithoutExtension

Track namespace

Rails:
Track.RailStart RailIndex; X; Y; RailStructureIndex
Track.Rail RailIndex; X; Y; RailStructureIndex
Track.RailType RailIndex; RailStructureIndex
Track.RailEnd RailIndex; X; Y
Track.Accuracy Value
Track.Adhesion Value

Geometry:
Track.Pitch ValueInPermille
Track.Curve Radius; CantInMillimeters
Track.Turn Ratio
Track.Height Height

Objects:
Track.FreeObj RailIndex; FreeObjStructureIndex; X; Y; Yaw; Pitch; Roll
Track.Wall RailIndex; Direction; WallStructureIndex
Track.WallEnd RailIndex
Track.Dike RailIndex; Direction; DikeStructureIndex
Track.DikeEnd RailIndex
Track.Pole RailIndex; AdditionalRailsCovered; Location; Interval; PoleStructureIndex
Track.PoleEnd RailIndex
Track.Crack RailIndex1; RailIndex2; CrackStructureIndex
Track.Ground CycleIndex

Stations:
Track.Sta Name; ArrivalTime; DepartureTime; PassAlarm; Doors; ForcedRedSignal; System; ArrivalSound; StopDuration; PassengerRatio; DepartureSound; TimetableIndex
Track.Station Name; ArrivalTime; DepartureTime; ForcedRedSignal; System; DepartureSound
Track.Stop Direction; BackwardTolerance; ForwardTolerance; Cars
Track.Form RailIndex1; RailIndex2; RoofStructureIndex; FormStructureIndex

Signalling and speed limits:
Track.Limit Speed; Direction; Cource
Track.Section Aspect0; Aspect1; ...; Aspectn
Track.SigF SignalIndex; Section; X; Y; Yaw; Pitch; Roll
Track.Sig Aspects; Unused; X; Y; Yaw; Pitch; Roll
Track.Signal Aspects; Unused; X; Y; Yaw; Pitch; Roll
Track.Relay X; Y; Yaw; Pitch; Roll

Safety systems:
Track.Beacon Type; BeaconStructureIndex; Section; Data; X; Y; Yaw; Pitch; Roll
Track.Transponder Type; Signals; SwitchSystems; X; Y; Yaw; Pitch; Roll
Track.AtsSn
Track.AtsP
Track.Pattern Type; Speed
Track.PLimit Speed

Miscellaneous:
Track.Back BackgroundTextureIndex
Track.Fog StartingDistance; EndingDistance; RedValue; GreenValue; BlueValue
Track.Brightness Value
Track.Marker FileName; Distance
Track.PointOfInterest RailIndex; X; Y; Yaw; Pitch; Roll; Text
Track.PreTrain Time
Track.Announce FileName; Speed
Track.Doppler FileName; X; Y
Track.Buffer