diff --git a/Docs/README.tutorials b/Docs/README.tutorials new file mode 100644 index 000000000..1b9d494ad --- /dev/null +++ b/Docs/README.tutorials @@ -0,0 +1,477 @@ +== README.tutorials =========================================================== + +FlightGear offers a flexible tutorial system, entirely written in the Nasal +language. Tutorials can be started and stopped from the "Help" menu. They are +defined in XML files. Each of them has to be loaded into /sim/tutorials/ under +a separate tutorial[n]/ branch: + + + + + + + + +Alternatively, all tutorials can be defined in one file, with tags +around each tutorial. This is then included like so: + + + + + + + + + + + + +== TUTORIAL STRUCTURE ========================================================= + + +A tutorial has this structure, where some of the elements are described +in detail below: + + + + ... mandatory; short identifier, also shown in the + tutorial selection dialog + ... mandatory; longer description for the dialog + ... optional; defines where to load sound samples + 5 optional; defines default loop interval in sec + noon optional; defines daytime; any of "dawn", + "morning", "noon", "afternoon", + "evening", "dusk", "midnight", "real" + + ... optional; initial Nasal code; see below + + + + ... optional; scenery objects; see below + + + + ... optional; targets; see below + + + + ... optional; initial simulator state; see below + + + + optional; initial settings; see below + + ... optional; property settings; allowed multiple + times + + ... optional; view settings + + + ... optional; marker coordinates + + + ... optional; Nasal code + + 10 optional; run loop next in this many seconds + (default: 5); doesn't change global + interval + + + mandatory; well, not really, but if there's not + at least one , then the whole tutorial + won't do anything; see below for details + + ... optional; message to be displayed/spoken when + is entered; allowed multiple times, in + which case one is chosen at random + + optional; file name of *.wav sample to be played; + may be used multiple times (random) + + ... optional; allowed several times + + + ... optional + + + ... optional + + + ... optional; Nasal code that is executed when the + step is entered + + 10 optional; run loop next in this many seconds + + optional; allowed several times + .. optional; text displayed/spoken + optional; name of *.wav sample to be played + + + ... optional, but one should be there to make sense + see $FG_ROOT/Docs/README.conditions + + + ... optional; Nasal code that is executed when the + error condition was fulfilled + + 10 optional; run loop next in this many seconds + + + optional; defines when to leave this + see $FG_ROOT/Docs/README.conditions + ... + + + + ... optional; Nasal code that is executed when the + exit condition was met + + + + + optional; final settings & actions; see below + ... optional; multiple times (random) + optional; multiple times (random) + + ... optional + + + ... optional + + + ... optional + + + + + + +After the tutorial has finished initialization, it goes through all . +For each it outputs the or