|Home||Yellow caution flags.|
Racer added a rudimentary system for controller race caution flags in v0.9.0RC9. It is not automated, so there mostly for the future.
A few commands have been added to control race flags manually: mpost and mposts. See the console command reference page for the exact syntax. These can be used in Racer to turn on/off all flags, or control the color per flag independently.
Marshal post states
The following states are defined for each post (i.e. 'mpost 1 4' will set the state of the 2nd marshal post to 'black'):
|0||none||none/clear - no signal|
|1||yellow||yellow (warning) - normally a waving yellow flag. See also fixed_yellow and yellowdouble.|
|2||green||green (all ok)|
|3||blue||blue (faster opponent behind you)|
|4||black||black (penalty - come back to the pits)|
|5||yellowdouble||double yellow (you may have to stop at any time)|
|8||safetycar or sc||safetycar (signalling a safety car is on the circuit)|
|9||white||white (you are closing in to a slower opponent)|
|11||meatball||meatball (black & orange)|
|12||blackwhite||black & white (diagonally)|
|13||next slow||"NEXT SLOW" sign (indicating "SLOW" is coming up)|
|15||fixed_yellow||Non-waving yellow flag|
These states will evoke certain behavior in the marshal posts, which depends on the types of so-called 'actors' defined for each post.
Post states can currently be expressed in 3 forms; flashing lights, waving flags and signs. The expression forms are called 'actors', and are defined in the track's special.ini file.
Here is an example extract from special.ini which defines 2 posts:
This looks complex and therefore there is a system behind it. First let's explore the ini fields:
The state 3D object names are long, which is a result from instancing in 3D Studio Max. They are composed like this:
For example, the model name 'mpost_flag_blackwhite_6_mpost_001_flag_blackwhite' above means that it is part of post #1 (001), is of type flag (it probably depicts a flag) and displays state 'blackwhite' (probably a black & white flag material is mapped onto the model). The prefix 'mpost_flag_blackwhite_6' is just a material name (which includes in this case a submaterial ID).
About user_id vs indices
As you can see in the given example, each post has a user_id field. This indicates the number that is used to control the post. For example, you could set marshal_posts.post1.user_id to 123, in which case you'd have to use the console command 'mpost 123 1' to set it's state to 1 (yellow). This might be confusing at first, if you're inclined to use 'mpost 1 1'. With user ID's however, you can use the real track's numbering scheme independently of how the posts were modeled.
Templates for special.ini
The above example shows that the ini settings are relatively complex and that it is easy to make mistakes. Also, since Max makes instancing possible, it would be easier to let Racer search for the objects and decide on which goes where. Fortunately, TrackEd contains such a function. In the Marshal Posts section (F10) there is a 'Make template for special.ini' button which does just that.
Given the object name template as described above, just insert the 3D models in your scene and import them in TrackEd. Save & reload the track, then click the 'Make template' button. This searches for 3D names with '_mpost_' somewhere and then derives the context from the name template (<material>_mpost_<n>_<type>_<state>) to be able to create the special.ini entries.
The above extract was generated using this template generator, since making mistakes doing it manually was far too easy. The 3D models were done in 3D Studio Max.
The following limitations currently apply (Jan 2nd 2014):
(last updated February 20, 2014 )