*\cROTATE spawnflag

The model_train viper (if it hasn't already crashed) uses the ROTATE spawnflag to
turn towards the next path_corner in its sequence. It also rolls towards the next
path_corner's roll value at the model_train's roll_speed value. If the train's path
seems a bit too linear, you can add additional path_corners and/or play with the
train's yaw_speed and roll_speed values.

After 3 circuits of the map, a target_change changes one of the train's path_corners
to point toward a different route. A subsequent path_corner targets ANOTHER
target_change which changes the train from ROTATE to ROTATE_CONSTANT, at which time
the model_train goes into an uh-oh uncontrollable yaw spin.

The forklift func_train has the ROTATE spawnflag set. It will turn towards the next
path_corner in its sequence at its current yaw_speed. Both the func_train's speed
and yaw_speed may be changed at every path_corner by setting the corresponding values
for that path_corner. You'll see this in effect at the halfway point around the
path_corner circuit.

The red beacons in this map are just a sanity check to prove to yourself how the train
is placed in the map relative to the path_corners. You'll notice in the map file that
the beacons are all at the same offset from the path_corners.

You'll notice that the forklift is placed with it's center near x=y=0 in the map file.
This allows us to use rotation without adding an origin brush to the func_train. The
lack of an origin brush does 2 things for us:

1) It doesn't foul up the lighting as brush_models with origin brushes normally do, and

2) It allows us to place the wheel textures exactly, without a lot of trial and error. 
Aligning those wheel textures would have been incredibly frustrating if an origin brush 
were used.

NOTE: It's next to impossible to make a believable smooth curved path with this func_train,
unless you use a LOT of path_corners. Slow yaw_speeds will cause the func_train to very
obviously slide rather than turn.
