DSA Usage

A dungeon design can contain up to 256 DSA definitions.  Each level of the dungeon can use a subset of 32.  A level can contain as many DSAs as you please but there can only be 32 different 'kinds'.  This is a bit like the Wall Decorations where each level can contain 100s of Wall Decorations but only 15 kinds of Wall Decorations.

In the Edit/Global menu you can select any one of the 256 DSA definitions to edit.  In the Edit/Level menu you can specify which 32 of the 256 you want to use on any particular level.  And you place 'instances' of the DSA using the same mechanism that you use to place Pushbuttons or Pressure Pads.

An 'instance' of a DSA is an actuator like any other actuator except that how it acts depends on which definition it uses.  When you place an instance of a DSA you are invited to edit it and you may specify which definition it is to use.  There are also two parameters associated with a DSA.  This is just like a teleporter, which has one paramter to specify the destination, or like a Pressure Pad which has one parameter to specify the target of any messages produced.  But a DSA has two parameters.  Each parameter can be a location in the dungeon or a simple integer.  If it is a location, then it can specify any location on any level of the dungeon.  If it is an integer then it can be any non-negative integer less than 262144.  How this instance of the DSA behaves depends on the definition it uses.  And the definition can use the parameters to further alter its behaviour.  The parameters are named 'A' and 'B'.

As a simple example, we might use a DSA to forward messages from one level to another.  Pressure Pads can only send messages to the same level on which the Pressure Pad resides.  We could write a DSA that forwards any message to another level.  We could write it so that it forwards the message to a particular location on a particular level.  But then if we wanted to forward messages to a different place we would have to write another DSA to do it.  A better idea is to write the DSA so that it forwards the message to the location specified by parameter A.  Then we can forward to several different locations using the one definition and specifying the proper locatation in parameter A when we insert an instance of the DSA into the dungeon.  This is exactly analogous to inserting teleporters and supplying as a parameter the destination location.  We don't want a different kind of teleporter for each possible location that might be a destination.  We have one kind of teleporter and each instance of the teleporter has a different destination because we supply a different parameter.  We have one kind of DSA and it does different things depending on the parameter supplied.

Back to the Index