  ____________________________________________________________________________
 /                                                                            \
 |   Lix                                          Special object definitions  |
 \____________________________________________________________________________/



Use this file to configure your special objects. Make a copy of this file,
put it into the same directory as your object, and give it the same filename as
the object except for its ending, which must be .txt. If your object is
bitmap/somedir/goal.G.bmp, then this definitions file must be
bitmap/somedir/goal.G.txt to get it to work.

All lines that don't start with a # are ignored. Decide which of the following
commands you need, you can select as many as you want. Then remove their
trailing spaces (but not the #) and edit their numbers. After you're done,
you can safely delete all other lines that don't start with # to save space,
i.e. delete all this blah-blah text and unused commands.



Commands for hatches, goals, traps, water, fire, and flinging objects:

 #TRIGGER_AREA_POSITION_ABSOLUTE_X 20
Remove the space before the # to use this command. This will happen:
The left edge of the trigger area will be placed the given amount of pixels
away from the left edge of the object. If you want to center the trigger area
horizontally, use TRIGGER_AREA_POSITION_FROM_CENTER_X instead, see below.

 #TRIGGER_AREA_POSITION_ABSOLUTE_Y 10
Remove the space before the # to use this command. This will happen:
The upper edge of the trigger area will start this amount of pixels away from
the upper edge of the object. If you want to center the trigger area
vertically or place it at the bottom of the object, use one
of TRIGGER_AREA_POSITION_FROM_CENTER_Y or TRIGGER_AREA_POSITION_FROM_BOTTOM_Y
instead, see below.

 #TRIGGER_AREA_POSITION_FROM_CENTER_X -5
Remove the space before the # to use this command. This will happen:
The center (not left edge) of the trigger area will be placed the given amount
of pixels away from the horizontal center of the object. Use positive values to
shift the trigger area to the right, and negative values to shift to the left.

 #TRIGGER_AREA_POSITION_FROM_CENTER_Y -12
Remove the space before the # to use this command. This will happen:
The center (not upper edge) of the trigger area will be placed the given amount
of pixels away from the vertical center of the object. Use positive values to
shift the trigger area down, and negative values to pull it further up.

 #TRIGGER_AREA_POSITION_FROM_BOTTOM_Y 0
Remove the space before the # to use this command. This will happen:
The center (not upper edge) of the trigger area will be placed the given amount
of pixels away from the bottom of the object. Positive values will push it
even further down, negative values pull it up. If you use this command and
give 0 as the number, the center will be on the second-to-last pixel row
vertically. This is the default setting for goals (exits).

 #TRIGGER_AREA_SIZE_X 20
Remove the space before the # to use this command. This will happen:
Instead of its default width, the trigger area will use the given amount of
pixels as its width.

 #TRIGGER_AREA_SIZE_Y 20
Remove the space before the # to use this command. This will happen:
Instead of its default height, the trigger area will use the given amount of
pixels as its height.



Additional commands for hatches:

 #HATCH_OPENING_FRAME 1
Specifies the animation frame that is to be displayed when the hatch opening
sound is played. The default value is 1, i.e., there is no animation before the
opening sound, only the constant frame 0. Remember to count frames from zero.
If this is set to a late frame, the hatch animates earlier after starting the
level to match the sound. The setting has no effect on game physics.



Additional commands for flinging objects:

Use the trap pre-extension .T for flingers, i.e., call your flingers like so:
myflinger.T.png

Flingers are objects that launch lix into the air by assigning them a velocity
upon interaction with the object. Trigger areas for these are defined just like
for any other object as described above. By default, the object is permanent,
however if FLING_NONPERMANENT is set, it can be turned into a triggerable
object, processing one lix at a time. By default, lix will be flung depending
on their orientation, however FLING_IGNORE_X_ORIENTATION can be set to always
fling them into the same horizontal direction. If any of the parameters below
is encountered, the object will automatically be turned into a flinger, unless
overwritten by a later type setting parameter, like TRAMPOLINE.

 #FLING_SPEED_X 4
Remove the space before the # to use this command. This will happen:
The object will be turned into a flinging object (that flings lix around upon
interaction), and the horizontal speed the lix gets launched at will be the
specified value. Unless FLING_IGNORE_X_ORIENTATION is set, the horizontal fling
direction of the lix depends on orientation of the lix when entering the object:
if facing left, the lix will be given the negative velocity instead.

 #FLING_SPEED_Y -16
Remove the space before the # to use this command. This will happen:
The object will be turned into a flinging object (that flings lix around upon
interaction), and the vertical speed the lix gets launched at will be the
specified value.

 #FLING_NONPERMANENT
Remove the space before the # to use this command. This will happen:
The object will be turned into a flinging object (that flings lix around upon
interaction), and instead of working permanently, the object will become
triggerable, processing one lix at a time upon interaction.

 #FLING_IGNORE_X_ORIENTATION
Remove the space before the # to use this command. This will happen:
The object will be turned into a flinging object (that flings lix around upon
interaction), and the object will fling lix always with the horizontal velocity
as specified by FLING_SPEED_X, independent of its orientation upon entering the
object.



Additional objects for trampolines:

As with flinging objects, use the trap pre-extension .T for trampolines:
mytrampo.T.png

Trampolines launch lix that fall (fallers, jumpers, tumblers) onto them from
above up to approximately the same height again. Fallers will also get some
additional movement into horizontal direction. If the TRAMPOLINE parameter is
encountered, the object will automatically be turned into a flinger, unless
overwritten by a later type setting parameter, like FLING_*.

 #TRAMPOLINE
Remove the space before the # to use this command. This will happen:
The object will become a trampoline.
