Soundsequence

From Eternity Wiki
Revision as of 11:42, 4 June 2010 by Printz (talk | contribs) (esndseq)
Jump to navigationJump to search

Sound sequences are effects that play while a sector is moving, a polyobject is moving, or when a Heretic-style (environmental) ambient sound is under way. Similar to things, frames or individual sounds, sequences are defined in EDF by using the soundsequence block. The mnemonic must be at most 32 characters long. Sound sequence definitions can be cascaded, and the latter ones will overwrite other identically named sequences.

Sector movement sequences are used by placing thing types #1400 to #1411 on the map, inside the designated sectors. The ones numbered from #1400 to #1410 will play the sequence with the id between 0 and 10, while #1411 will use its first argument in the ExtraData definition.

Polyobject sequences are set up in the fifth argument of Polyobj_StartLine and Polyobj_ExplicitLine ExtraData linedef specials.

Environmental sequences are set up similarly with sector sequences, by placing thing types #1200 to #1300 anywhere inside the map. #1200 to #1299 use the last two digits to designate the number, while #1300 uses the first ExtraData argument.

NOTE: You can include all soundsequence blocks inside a ESNDSEQ lump. It will be loaded automatically at game startup, independent of EDFROOT.

Syntax

soundsequence <mnemonic>
{
  id              = <number>
  cmds            = { <string>, ... }
  type            = <sequence type>
  stopsound       = <sound mnemonic>
  attenuation     = <attenuation type>
  volume          = <number>
  minvolume       = <number>
  nostopcutoff    = <boolean>
  doorsequence    = <sound sequence mnemonic>
  platsequence    = <sound sequence mnemonic>
  floorsequence   = <sound sequence mnemonic>
  ceilingsequence = <sound sequence mnemonic>
}

Parameters

The fields are as follows:

  • id
Default: -1
Sets up the sound sequence number to recognize it in maps. Environmental sequences use a different namespace from sector ones, and sector sequences can be separated in door, platform and general sequences (see below)
  • cmds
Default: {"end"}
The list of Hexen-style commands to control the playing of sounds. Each command is written as a string, separated with a comma from the others.
  • type
Default: "sector"
There are four separate namespaces: sector, door, plat and environment. The second is restricted to doors and polys; the third to general moving floors/ceilings and lifts.
  • stopsound
Default: "none"
The sound mnemonic to play when the sector stops. Will never happen if this is an environmental sequence.
  • attenuation
Default: "normal"
Can be: normal, idle, static, none.
  • volume
Default: 127
  • minvolume
Default: -1
  • nostopcutoff
Default: false

Sequence commands

  • play <sound>
  • playuntildone <sound>
  • playtime <sound>
  • playrepeat <sound>
  • playloop <sound>
  • playabsvol <sound> <vol>
  • playrelvol <sound> <vol>
  • delay <tics>
  • delayrand <min> <max>
  • volume <vol>
  • relvolume <vol>
  • attenuation <attn>
  • stopsound <snd>
  • nostopcutoff
  • restart
  • end