
===============================================================
 Defining moving faked floors
  November 2005
===============================================================

 Currently floors that move in doom used a fixed floor
 sound. Fake floors, however, invariably use a liquid
 floor texture that, when moving, would benefit from a
 more appropriate sound.

 As such a method has been introduced in Risen3D to
 allow a water sound to be played where a fake floor
 is being moved.

 It is generally the case that the sector providing the
 fake floor, that is the one having the 242 linedef,
 will be outside the visible portion of the map and
 only the sector(s) tagged to it will be visible. This
 means that any sound would be played from the wrong
 position, i.e. the faked sector's origin.  Moving the
 origin to a tagged sector would not necessarily give
 the origin required if several sectors are tagged to
 the faked sector.

 In addition the floor move speeds would generally be too
 fast to confer a believable rate of change of height.

 In order to resolve this the following feature has been
 added to Risen3D.

==============================================================

 A sector defining a faked floor, i.e. one possessing a
 linedef special type 242, can be specified as a special
 Risen3D type in order to play a water sound from a
 specific sound origin.  The type is defined by using
 a special mid texture on the 242 linedef.

 This line, in normal circumstances, uses the textures
 to set colormaps for each of the three possible levels.
 Since a middle colormap is rarely specified this
 texture has been used to define it as a special type.

 To do this use a midtex def of $Fxxxxxx.

 The amount the floor is required to be changed is put
 in xxxxxx.  This must be a decimal positive integer.

 The xxxxxx value will define the sector's starting
 height relative to the faked sector's floor height.

 This value is always deducted from the floor height set
 in the map, if $F000000 then the start height will
 remain unchanged.

 This means it can be preset to start at any height
 below the height set in the map independently of the
 heights derived from adjacent sector used to set
 the actual limits of movement.

 Note that the def must be exactly 8 chars long. So to
 define a start height of 4 below the faked sector's
 floor height then use $F000004.

 When the floor is active a defined water sound is
 played that is contained in the Risen3D.wad.

 When the floor reaches the bottom it will render
 the texture of the tagged sector.

 It is allowed to go below the tagged sector's
 floor height (i.e. where a reference sector has a
 lower floor height than the tagged sector).  This
 can be used to delay the point at which the faked
 sector's floor becomes visible after the sound is
 first started, when being raised. Conversely this
 will delay the time to stopping the water sound
 after it becomes replaced with the tagged sector's
 floor texture when being lowered.

 To set the sound origin place a THING type 15551
 at the point where the sound origin is required
 in one of the sectors that is tagged to the faked
 sector.  If more than one is placed in a sector or
 group of sectors sharing the same tag then the first
 one found will be used and the rest ignored.  Thus
 only one should be used for any one sector or group
 of sectors being tagged to the same faked sector.

 The floor speed will be one quarter of the speed of
 the normal floor speed chosen by the trigger type if
 the type is a standard or generalised linedef type.

 For elevator, donut or stair types the floor speed
 remains unchanged.


 An example is in the R3DTEST\SlopesTest.wad.


 GMJ May 2008
