home *** CD-ROM | disk | FTP | other *** search
- --
- -- This file demonstrates how to add a sound set to Enigma.
- --
- -- Sound effects are triggered by so-called "sound events". These sound
- -- events usually have a name (like "dooropen") and an associated location
- -- (the coordinates of the door) which affects the way a sound effect is
- -- played.
- --
- -- The sound event is converted into a real sound effect using tables
- -- similar to the one below. Each entry in the table is either a string
- -- like "enigma/st-coinslot", which is interpreted as the file
- -- "soundsets/enigma/st-coinslot.wav" with some default properties, or a
- -- list of sound attributes enclosed in curly braces "{ ... }".
- --
- -- Here is a complete example of such an attribute list:
- --
- -- dooropen = { file="my_soundset/open-door", volume=0.9, priority=4 },
- --
- -- The meaning of these attributes is as follows:
- --
- -- file - Path and name of the sound file for this event, without
- -- the".wav" extension.
- --
- -- volume - The sound volume: 1.0 is standard, 0.0 is silent.
- --
- -- priority - If many effects are active at the same time, high-priority
- -- effects can replace lower-priority effects. Use an integer
- -- between 1 and 10 (default 1). This property does not yet
- -- work within Enigma 1.01.
- --
- -- global - Either "true" or "false". If true, no stereo effects are
- -- applied and there is no attenuation. Used for menu sound,
- -- level end sounds, etc. Default is "false".
- --
- -- loop - "true" or "false". If true, the sound repeats infinitely
- -- until canceled. Default is "false".
- --
- -- damp_max, damp_inc, damp_mult, damp_min, damp_tick
- -- - Parameters for sound damping. Sounds from noisy objects
- -- like light passengers are damped to reduce the noise.
- -- For this, the sound event's frequency is estimated.
- -- damp_max calibrates the maximal damping factor (high means
- -- quiet), damp_inc how fast the damping accumulates,
- -- damp_mult is an overall factor, damp_min defines a lower
- -- bound for the damping entries (beyond which they are
- -- removed from memory) and damp_tick the factor that's
- -- applied all 0.1 seconds. See sound.hh for details.
- -- Defaults: 10.0, 1.0, 1.0, 0.5, 0.9.
- --
- -- To design a new sound set, proceed as follows.
- --
- -- 1) Create a new folder containing this file (named "soundset.lua")
- -- and the wav files you want to use.
- --
- -- 2) Move this new folder into Enigma's "soundsets" folder in your user path.
- -- (Possibly you have to create it.) The directory structure should look
- -- something like this:
- --
- -- (user path)/soundsets/my_sounds/
- -- /soundset.lua
- -- /a.wav
- -- /b.wav
- -- ...
- --
- -- 3) Run Enigma. Since this file's sound set does not map any sound effect
- -- to a wav file, you should hear nothing.
- --
- -- 4) Edit the contents of this file to your liking. You can access the
- -- default sound files in the "soundsets/enigma" directory, e.g.:
- -- ...
- -- coinsloton = { file="enigma/st-coinslot" },
- -- ...
- -- When using own sound files, remember to add the subfolder, like in
- -- ...
- -- coinsloton = { file="my_sounds/b" },
- -- ...
- -- No extension ".wav"! It's added automatically. Make sure that the
- -- extension is in lower case letters.
- --
- -- 5) Replace "MY_SOUNDSET" by a suitable variable name, and "My Soundset"
- -- by the name you want to see in the sound options menu. Remember to
- -- make it short enough to fit on the button.
- --
- -- If you need inspiration, take a look at "sound-defaults.lua" shipped with
- -- Enigma, which contains the default sound table.
- --
- -- If you have questions, don't hesitate to ask. Have fun!
- --
-
- soundtable_MY_SOUNDSET = {
- [""] = "", -- empty sound
- ballcollision = "",
- blackbomb = "",
- blockerdown = "",
- blockerup = "",
- booze = "",
- bumper = "",
- cloth = "",
- coinslotoff = "",
- coinsloton = "",
- crack = "",
- doorclose = "",
- dooropen = "",
- drown = "",
- dynamite = "",
- electric = "",
- exit = "",
- extinguish = "",
- fakeoxyd = "",
- falldown = "",
- fart = "",
- finished = "",
- floordestroy = "",
- fourswitch = "",
- glass = "",
- hitfloor = "",
- impulse = "",
- intro = "",
- invrotate = "",
- itemtransform = "",
- jump = "",
- jumppad = "",
- landmine = "",
- laserloop = "",
- laseron = "",
- laseroff = "",
- lock = "",
- magneton = "",
- magnetoff = "",
- mail = "",
- menuexit = "",
- menumove = "",
- menuok = "",
- menustop = "",
- menuswitch = "",
- metal = "",
- mirrorturn = "",
- movebig = "",
- moveslow = "",
- movesmall = "",
- oxydclose = "",
- oxydopen = "",
- oxydopened = "",
- pickup = "",
- puller = "",
- puzzlerotate = "",
- rubberband = "",
- scissors = "",
- seedgrow = "",
- shatter = "",
- shattersmall = "",
- shogunoff = "",
- shogunon = "",
- skull = "",
- spade = "",
- squish = "",
- stone = "",
- stonedestroy = "",
- stonepaint = "",
- stonetransform = "",
- swamp = "",
- switchmarbles = "",
- switchoff = "",
- switchon = "",
- switchplayer = "",
- sword = "",
- thief = "",
- triggerdown = "",
- triggerup = "",
- turnstileleft = "",
- turnstileright = "",
- umbrellaoff = "",
- umbrellaon = "",
- umbrellawarn = "",
- unlock = "",
- vortexclose = "",
- vortexopen = "",
- warp = "",
- whitebomb = "",
- wood = "",
- yinyang = "",
- }
-
- -- Remove "--" from the line below to add missing sound entries
- -- from the default sound set.
- --copy_missing (soundtable_enigma, soundtable_MY_SOUNDSET)
-
- AddSoundSet ("My Soundset", soundtable_MY_SOUNDSET)
-