JTraffic Screensaver

$POOL

$POOL N=<Name> ; SEQ=<RandomP>; \

The $POOL command ( together with the corresponding $ENDPOOL command ) are enclosing movements. It is a relative of the segmentation commands, as it has a set of movements and the control for selecting the next movement from the set, the SEQ= parameter controls the sequence as for the other segemntation commands.

The difference is, that $POOL doesn't get a screen area to let it's movements to run, it only stores them. The lines containing the POOL= parameter invoke the next movement from the pool:

POOL=<NameList>;

<NameList> == <Name> || <NameList> , <Name>

the names should be the names of pools - given by the N= parameter at the pool definition. Usually you will put here only one pool name, getting the movement from a single pool, but it is possible to get different parameters from diferent pools - for example, storing movements with the train definitions in one pool, and baclground definitions on another.

The advantage of this organization is, that you can invoke the next movement and train from the set in different environements - for a full-screen background picture, for a low background stripe, for single movements before the default background, or in scenes. More tracks in the scene can use the same set of movements. You can achieve a similar effect by defining the trains in a macro with a huge  selection, but this method has 2 advantages compared with the train macro:

  • The use of the selection method - either you can control the sequence the movements will be obeyed by using the SEQ= parameter, or the user controls it in the configuration window. The macro with a huge selection expression selects always fully randomly.
  • The ability of accompaning the train with other parameters - even with the type of the movement. All the parameters belonging to a movement - more train parts, speed, acceleration, stop positions, actions during the stop times can be specified in the usual way. The lines can be tested outside the pool, and moved without any change into the pool.

As the pools are not part of an active segment ( $SECTION ), they cannot be defined inside a $SECTION, $GROUP, $SCENE or $LINE block.

If we take a closer look on the $POOL command and the invoking POOL= parameter, we will notice, that the mechanism only stores and retrieves parameter sets, it does not deal with the movements themselves. So, it is possible to use the $POOL / POOL= mechanism for retrieving other parameters - for example, background and foreground definitions.

Overview
The Configuration Window
Program Window
Stock List
Description Editor
Graphic Testpad
Timetable Editor
Timetable Syntax and Semanics
The timetable header
Sections, Groups, Lines, Scenes
Actions
Stock List File