Here are the changes we have made for Speed Dreams in the legacy TORCS track XML file format.
Related features: Weather info, grab real-time real-world weather info for a track, based on nearest reporting airport.
Default value: "LFPG" (Paris, Charles de Gaulle).
Possible values: 4-letter ICAO airport codes.
Related features: ?
Default value: 0
Possible values: ?
Shows all 2.1-specific content along the 2.0 and legacy ones.
<section name="Header">
<attstr name="name" val="Aalborg"/>
<attstr name="category" val="circuit"/>
<attnum name="version" val="4"/>
<attnum name="sky version" val="1"/>
<attstr name="author" val="T. Thellefsen, E. Espie, B. Wymann, Eckhard M. Jaeger"/>
<attstr name="description" val="A racing circuit in the Danish forests"/>
</section>
<section name="Local Info">
<attstr name="station" val="EKYT"/>
<attnum name="overall rain likelyhood" unit="%" val="20"/>
<attnum name="little rain likelyhood" unit="%" val="60"/>
<attnum name="medium rain likelyhood" unit="%" val="20"/>
<attnum name="time of day" unit="hour" val="14.0"/>
<attnum name="sun ascension" unit="deg" val="160"/>
</section>
Related features: Sky dome rendering.
Default value: 0 (no sky dome, default legacy background image scheme).
Possible values: Positive or nul integers.
Related features: Sky dome and rain falls rendering, wet track simulation.
Example:
<section name="Local Info">
<attnum name="overall rain likelyhood" unit="%" val="20"/>
<attnum name="little rain likelyhood" unit="%" val="60"/>
<attnum name="medium rain likelyhood" unit="%" val="20"/>
<attnum name="time of day" unit="hour" val="14.0"/>
<attnum name="sun ascension" unit="deg" val="160"/>
</section>
| Property name | Description | Default value | Value range | Unit |
|---|---|---|---|---|
| overall rain likelyhood | Likelyhood of rain | 0 % | [0, 100] | % |
| little rain likelyhood | Likelyhood of little rain when it really rains | 0 % | [0, 100] | % |
| medium rain likelyhood | Likelyhood of medium rain when it really rains | 0 % | [0, 100 - 'little rain ikelyhood'] | % |
| time of day | Default time of day (when not user specified) | 15.0 | [0.0, 24.0] | Decimal hours (17.75 = 5:45:00 PM) |
| sun ascension | Sun ascension in the sky, directly linked to latitude. kilo: I use this utility to obtain this value. You set the geographical position, then date and time of day, and you can immediately see 'Sun right ascension'. Be aware to cut the decimals though. | 0 deg | [0, 360] | deg, integer |
Note: This new section gathers and renames obsolete (now ignored) pre-2.0.0 properties (respectively : "Rain", "Little rain" and "Normal rain", from the "Header" section, and "Hour" and "Sun horizontal" from the "Graphic" section).
We've added new features to Speed Dreams, to enable robots to drive into/out off the pit lane exactly where you want them to enter and to leave it.
This is the old format:
<section name="Pits">
<attstr name="side" val="left" />
<attstr name="entry" val="straight 38" />
<attstr name="start" val="straight 41" />
<attstr name="end" val="straight 1" />
<attstr name="exit" val="straight 5" />
<attnum name="length" unit="m" val="10.0" />
<attnum name="width" unit="m" val="5.0" />
</section>
Here you say: The pit entry starts at the beginning of “straight 38” and ends at the start of “straight 41”. The pit buildings are created (while runtime) from the start of “straight 41” onto the end of “straight 1”. The pit exit starts at the end of “straight 1” and ends at the end of “straight 5”.
But if you want a more complex entry/exit route, you should write:
<section name="Pits">
<attstr name="side" val="left" />
<attstr name="entry" val="straight 38" />
<attstr name="start" val="curve 33" />
<attstr name="start buildings" val="straight 41" />
<attnum name="max pits" val="22" />
<attstr name="end" val="curve 2" />
<attstr name="exit" val="straight 5" />
<attnum name="length" unit="m" val="10.0" />
<attnum name="width" unit="m" val="5.0" />
</section>
This reads: Enter the pit lane between the start and the end of “straight 38”. Follow the pit lane (and the pit speed limit) from the start of “curve 33” along all the segments between till the start of the pit buildings themselves at the start of “straight 41”. You will find 22 pits there. To exit the pit lane follow the pit lane (and the pit speed limit) from the start of “curve 2” to the start of “straight 5” and then use the exit between the start and the end of “straight 5”.
Why only 22 pits? The length of the straights in this example are only 220m. A pit length of 10m results in 220 / 10 = 22. If you want more pits, you have to use straight segments having a length of (n * pit length) between the whole length of the pits. There can be more than one, but all have to have a length of (n * pit length) when summed up. And you cannot have a curve within the pit buildings. The pit doors are crated while runtime and this will not work for curves (YET, Work in progress!!!). BTW: a pit box length of 10m is short for some of the cars (I.e. Autounion)! The default pit length is 12.5m, most of our tracks use 15m.
Using the above definition a robot (at least a simplix) should be able to do a pit stop. A USR will have problems, because the pit speed limit (undefined) is the default value of 88 km/h and the curves are not drivable with this speed. So you have to make wider curves or use a lower pit speed limit. PS: We still have an issue with these pits: If we use more cars than pits and there is a track defined in the new way having some segments between end of pit buildings and end ot pit lane, the cars can do a pit stop after the pit buildings (At least the robots not needing a visual assistance to find the correct place to stop).
(Above text excerpts from Wolf-Dieter)
TODO (if any change).