;
; SFX.TXT
; All sound effects in the game are specified here 
; and/or files included from here.
;
;
; Here is the file format. File is NOT case sensitive.
;
;--------------- SFX File format ---------------------------------------
; 
;#include "filename"        ; includes specified sub SFX file (which has 
;                           ; the same format as this file)
;
;[NameOfSoundEventType]     ; Name of new sound event (up to 31 characters)
;Control   =  ; <loop predelay random attack decay all interrupt >
;Sounds    =  ; <list of sound files>
;Volume    =  ; <0..100>                (100 = full volume)
;Delay     =  ;	<minDelay> <maxDelay>		(milliseconds)
;Priority  =  ;	<lowest low normal high critical>
;Type      =  ;	< global normal center dialog screen shroud >
;FShift    =  ; <minFrequenceDelta> <maxFrequencyDelta> 
;VShift    =  ; <maxVolumeDrop> 
;Limit     =	; <maxNumber> (max number of events at one time)
;Range     =	; <number of cells>
;LoopLimit =  ;	<number of times to loop> 
;MinVolume =  ; minimum volume for GLOBAL Type event
;Attack    =  ; <number of sounds at start of sounds list that are 
;             ; attack sounds>
;Decay     =  ; <number of sounds at end of sounds list that are 
;             ; decay sounds>
;
;
;[GlobalDefaults]    ; this is not a real event but can be used to specify 
;                    ; defaults for all events in all files that follow
;
;[LocalDefaults]     ; allows you to override global defaults for all events
;                    ; that follow in the current file
;
;[SectionDefaults]   ; allows you to override local defaults
;
;
;-----------------------------------------------------------------------
;
;Explaination of the following attributes:
;
; Sounds
; Volume
; Control
; Delay
; Priority
; Limit
; LoopCount
; FShift
; VShift
; Range
; Type
; MinVolume
; Attack
; Decay
;
; SOUND:
;
;   Syntax:     Sounds = {$}<sound1> {$}<sound2> ...{$}<sound32>
;
; Up to 32 sound files can be associated with an audio event. Do not 
; specify path or extension of the file, just the name of the file. The
; file name must not be more that 31 characters. If there are spaces in the
; filename then enclose the name in double quotes(e.g. "Big Bad Sound"). 
; However, avoid using spaces if possible.

; The sound files are expected to be in the "DuneAudio\sfx\sounds" directory, 
; and should be WAVE format. We currently support IMA ADPCM, PCM, Stereo, 
; mono at any sample rate. For best performance, use mono
; 22050Hz.
; 
; Any sounds that require localization must have a dollar sign ($) in front
; of their names in the sound list (not in the filename itself) and 
; versions of these sound files must be placed in the appropriate language 
; sub directories in "DuneAudio\sfx\sounds\<language>".
;
; NOTE: all sound files should be normalized
; 
; 
; VOLUME:
;
;    Syntax:    Volume = <0..100>
;
; Volume level playback for audio event. We assume that all sounds are 
; normalized. Use this attribute to set the mixing levels for audio.
; The value specified is the percentage of full volume. e.g. 25 means 
; playback at one quarter of full volume.

; CONTROL:
;
;    Syntax:    Control = <loop predelay random attack decay all interrupt>
;
; The control attributes can be used in any combination to achieve desired 
; playback effects. 
; The default control behaviour is to play the 
; first sound in the sound list just once. The following control keywords 
; can be used to:
;
;    loop
;         Continually play sound event. LoopLimit attribute can be used to 
;         specify how many times to loop the event.
;
;    random
;         Randomly pick sound from sound list to play.
;
;    interrupt
;         This new instances of this type sound event have priority over
;         already playing instances.
;
;    all
;         Use all sounds in sound list.
;
;    predelay
;         Normally if the DELAY attribute is specified the delay happens
;         when the sound finishes playing. PREDELAY forces the delay to 
;         happen at the start of the sound. Random predelays help avoid
;         'phasing' when multiple instances of the same audio event happen
;         at the same time.
;
;    attack
;         Specifies that the first sound in the sound list gets played, 
;         regardless, at the start of the audio event (see ATTACK attribute 
;         also). This sound is called the attack sound.
;
;    decay
;         Specifies that the last sound in the sound list gets played,
;         regardless, at the end of the audio event. ( see DECAY attribute
;         also). This sound is called the decay sound.
;
; DELAY
;
;    Syntax:    Delay = <minDelay> < maxDelay>
; 
; Used to specify a delay (in milliseconds) to wait at the end of an each
; sound that is played in an event. The control PREDELAY moves the wait to
; the start of each sound being played. The delay is randomized between
; the min and max delay times. e.g.:
;
; Delay = 3000 8000     ; wait from 3 to 8 seconds between sounds
; Delay = 1000          ; wait exactly 1 second between sounds
;
; PRIORITY
;
;    Syntax:    Priority = <LOWEST LOW NORMAL HIGH CRITICAL>
;
; Priority and Limit are the most important attributes of them all. While
; possibly hundreds of audio events want to trigger every frame, only a few
; will be chosen. It is vitally important to ensure that important events
; do not get dropped. The audio engine uses the priority of the audio event
; when choosing which events to drop. So make priorities are set correctly 
; for all events.
;
; LIMIT
;
;    Syntax:    Limit = <max instances>
;
; Limit specifies the maximum number of instances of an audio event type 
; that can be played SIMULTANEOUSLY. Limit of one, along with IMMEDIATE 
; control, can be used to achieve monaural sounds.
;
; LOOPLIMIT
;    Syntax:    LoopLimit = <count>
;
; By default looping is infinite. LoopLimit can be used to specify the
; exact number of loop iterations. 0 count means loop forever.
;
; FSHIFT
;
;    Syntax:    FShift = <minDelta> <maxDelta>
;
; The FShift attribute alows the playback frequency to be randomly changed
; in order to give some variance to repetitive sounds. The engine uses a 
; percentage value to represent the frequency of a sound. 100 percent 
; means normal frequency. 50 percent means half the frequency. 200 percent 
; means twice the frequency, and so on.
;
; The minDelta and maxDelta values describe a range relative to 100 percent
; frequency. For example:
;
;    FShift = -5 5     ; vary frequency between (100 -5) and (100 + 5) 
;    FShift = 5 10     ; vary frequency between 105% and 110% of original 
;    FShift = -50 0    ; vary frequency between 50% and 100% of original
;
;
; VSHIFT
;
;    Syntax:    VShift = <maxDrop>
;
; Like FShift, VShift is used to randomly change the volume of a sound
; in order the give it more variance. The VShift value is the maximum
; drop in volume alowed. For example,
;
;    Volume = 80
;    VShift = 10     ; vary volume between 80 and 70
;
; RANGE
;
;    Syntax:    Range = <cells>
;
; Specifies the audible range of a sound in game cells.
;
;
; TYPE
;
;    Syntax:    Type = < global normal screen center dialog shrouded>
;
; Type information allows the game engine to modify event behaviour. Meaning:
;
;    global
;        Positional audio event is always audible regardless of where in
;        the world it is. Instead of fading to silence when out of range
;        like normal events, global events do not fade below MINVOLUME.
;
;    normal
;        default type.
;
;    screen
;        Audio event fades out only when it moves off the edge of the screen.
;
;    center
;        Audio event fades out from the center of the screen 
;
;    dialog
;        The audio event contains speech and should be treated as dialog.
;
;    shrouded
;        Not audible when shrouded
;
; MIMVOLUME
;
;    Syntax:    MinVolume = <0.100>
;
;		See "GLOBAL" TYPE above.
;
; ATTACK
;
;    Syntax:    Attack = <num>
;
; By default when the control keyword 'attack' is specified the first sound 
; in the sound list is used as the attack sound. If the Attack attribute is
; supplied then the first <num> sounds in the sound list are considered
; attack sounds, and are randomly chosen from on playback. Obviously this
; is used in order to vary the attack sound.
;
;
; DECAY
;
;    Syntax:    Decay = <num>
;
; By default when the control keyword 'decay' is specified the last sound 
; in the sound list is used as the decay sound. If the Decay attribute is
; supplied then the last <num> sounds in the sound list are considered
; decay sounds, and are randomly chosen from on playback. Obviously this
; is used in order to vary the decay sound.
;
;

;dko use this to test hooks out to see if they work.  Use the actual hook name.
[TestEvent]
Play=HKLightInfantryGun
; the defaults for all events

[GlobalDefaults]
Control = random
MinVolume = 40
Range = 15
Volume = 80
Limit = 5
Type = NORMAL SCREEN 
Priority = NORMAL 

#include "UISFX.txt"

#include "AtreidesSFX.txt"

#include "OrdosSFX.txt"

#include "HarkonnenSFX.txt"

#include "GeneralSFX.txt"

#include "InterfaceSFX.txt"
