home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / Enigma / Enigma-1.01-w7.exe / data / sound-defaults.lua < prev    next >
Text File  |  2009-12-13  |  15KB  |  402 lines

  1. ------------------------------------------------------------------------
  2. -- Copyright (C) 2002,2003,2004,2005 Daniel Heck
  3. -- Copyright (C) 2007 Andreas Lochmann
  4. --
  5. -- This program is free software; you can redistribute it and/or
  6. -- modify it under the terms of the GNU General Public License
  7. -- as published by the Free Software Foundation; either version 2
  8. -- of the License, or (at your option) any later version.
  9. --
  10. -- This program is distributed in the hope that it will be useful,
  11. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. -- GNU General Public License for more details.
  14. --
  15. -- You should have received a copy of the GNU General Public License along
  16. -- with this program; if not, write to the Free Software Foundation, Inc.,
  17. -- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  18. --
  19. -- $Id: startup.lua,v 1.21 2004/02/15 11:54:36 dheck Exp $
  20. ------------------------------------------------------------------------
  21.  
  22. ----------------------------------------------------------------------
  23. -- Sound handling
  24. ----------------------------------------------------------------------
  25.  
  26. default_sound = { name = "",
  27.                   file = "",
  28.                   volume = 1.0,
  29.                   loop = false,
  30.                   global = false,
  31.                   priority = 1,
  32.                   damp_max = 10.0,
  33.                   damp_inc = 1.0,
  34.                   damp_mult = 1.0,
  35.                   damp_min = 0.5,
  36.                   damp_tick = 0.9,
  37.                   silence_string = "$default$" }
  38.  
  39. -- Complete a sound definition
  40. function complete_sound(k, t)
  41.     local tt = {}
  42.     if type(t) == "string" then
  43.         for key, value in pairs(default_sound) do
  44.             tt[key] = value
  45.         end
  46.         tt.file = t
  47.     elseif type(t) == "table" then
  48.         for key, value in pairs(default_sound) do
  49.             tt[key] = t[key] or value
  50.             -- Special fix for "global" and "loop" values of 1.00 sound sets
  51.             if (key == "global") or (key == "loop") then
  52.                 if tt[key] == 1 then
  53.                     tt[key] = true
  54.                 elseif tt[key] == 0 then
  55.                     tt[key] = false
  56.                 end
  57.             end
  58.         end
  59.     else
  60.         error("Syntax error in sound table, effect name "..k..".")
  61.         return default_sound
  62.     end
  63.     -- Fill in the silence string if requested
  64.     if (tt.silence_string == "$default$") then
  65.         tt.silence_string = soundtable_silent[k].silence_string or k
  66.     end
  67.     return tt
  68. end
  69.  
  70. -- Copy all key/value pairs only present in t1 to t2.
  71. function copy_missing (t1, t2)
  72.     for k,v in pairs(t1) do
  73.         t2[k] = t2[k] or v
  74.     end
  75. end
  76.  
  77. -- Add a new sound set
  78. function AddSoundSet (tablename, t)
  79.     for key, value in pairs(t) do
  80.         r = complete_sound(key, value)  -- completed data set
  81.         sound.DefineSoundEffect(tablename, key, r.file, r.volume, r.loop,
  82.             r.global, r.priority, r.damp_max, r.damp_inc, r.damp_mult,
  83.             r.damp_min, r.damp_tick, r.silence_string)
  84.     end
  85. end
  86.  
  87. -- Activate a sound set by name
  88. function ActivateSoundSet (name)
  89.     sound.SetActiveSoundSet(name)
  90. end
  91.  
  92. -- Compatibility with 1.00 sound.lua's
  93. function Sound (t)  return t  end
  94. AddSoundTable = AddSoundSet
  95.  
  96. ---------------------------------
  97. -- Definition of sound effects --
  98. ---------------------------------
  99.  
  100. ------------------------
  101. -- Enigma Sound table --
  102. ------------------------
  103.  
  104. -- Note that no "#" is allowed within a sound event name!
  105.  
  106. soundtable_enigma = {
  107.     [""]           = "",        -- empty sound
  108.     ballcollision  = "enigma/ballcollision",
  109.     blackbomb      = "enigma/explosion1",
  110.     blockerdown    = "",
  111.     blockerup      = "",
  112.     booze          = "",
  113.     bumper         = "enigma/bumper",
  114.     cloth          = { file="enigma/st-thud", damp_max = 4.0 },
  115.     coinslotoff    = "",
  116.     coinsloton     = "enigma/st-coinslot",
  117.     crack          = "",
  118.     doorclose      = "enigma/doorclose",  -- missing
  119.     dooropen       = "enigma/dooropen",   -- missing
  120.     drown          = "enigma/drown",
  121.     dynamite       = "enigma/explosion2", -- replace?
  122.     electric       = "enigma/st-stone",   -- replace
  123.     exit           = { file="enigma/exit", global=true },  -- missing
  124.     extinguish     = "",
  125.     fakeoxyd       = { file="enigma/st-fakeoxyd", volume=0.3 },
  126.     falldown       = "enigma/falldown",   -- missing, unused (falling is shatter!)
  127.     fart           = "enigma/fart",
  128.     finished       = { file="enigma/finished", global=true },  -- missing
  129.     floordestroy   = "",
  130.     fourswitch     = "enigma/st-switch", 
  131.     glass          = "enigma/st-metal",   -- replace
  132.     hitfloor       = "enigma/stone",      -- missing, used by it-vortex
  133.     impulse        = "",
  134.     intro          = { file="enigma/intro", global=true },  -- missing
  135.     invrotate      = { file="enigma/invrotate", global=true },
  136.     itemtransform  = "enigma/st-magic",
  137.     jump           = "enigma/boink",
  138.     jumppad        = "",
  139.     landmine       = "enigma/explosion2",  -- replace?
  140.     laserloop      = "",
  141.     laseron        = { file="enigma/st-laser", damp_max = 20.0, damp_inc = 2.0 },
  142.     laseroff       = "",
  143.     lock           = "",
  144.     magneton       = "",
  145.     magnetoff      = "",
  146.     mail           = "",
  147.     menuexit        = { file="enigma/menuexit", global=true },
  148.     menumove        = { file="enigma/menumove", global=true },
  149.     menuok          = { file="enigma/menuok", global=true },
  150.     menustop        = { file="enigma/menustop", global=true },
  151.     menuswitch      = { file="enigma/menuswitch", global=true },
  152.     metal          = "enigma/st-metal",
  153.     mirrorturn     = "enigma/st-mirrorturn",
  154.     movebig        = "enigma/st-move",
  155.     moveslow       = "enigma/st-move",
  156.     movesmall      = { file="enigma/st-move", damp_max = 10.0, damp_inc = 2.0 },
  157.     oxydclose      = "enigma/st-oxydclose",  -- missing, not neccessary I think
  158.     oxydopen       = { file="enigma/st-oxydopen", damp_max = 2000.0, damp_inc = 50.0 },
  159.     oxydopened     = "enigma/st-oxydopened",
  160.     pickup         = { file="enigma/pickup", global=true },
  161.     puller         = "",
  162.     puzzlerotate   = "enigma/st-move",
  163.     rubberband     = "enigma/boing",
  164.     scissors       = "",
  165.     seedgrow       = "enigma/seedgrow",  -- missing
  166.     shatter        = "enigma/shatter",
  167.     shattersmall   = "enigma/shatter",   -- replace, "shattersmall" is missing
  168.     shogunoff      = "",
  169.     shogunon       = "",
  170.     skull          = "",
  171.     spade          = "",
  172.     squish         = "",
  173.     stone          = "enigma/st-stone",
  174.     stonedestroy   = "enigma/explosion0",
  175.     stonepaint     = "enigma/st-magic",
  176.     stonetransform = "enigma/st-magic",
  177.     swamp          = "enigma/swamped",
  178.     switchmarbles  = "enigma/warp",      -- missing
  179.     switchoff      = "",
  180.     switchon       = "enigma/st-switch",
  181.     switchplayer   = "enigma/switch",
  182.     sword          = "",
  183.     thief          = "enigma/thief",     -- missing
  184.     triggerdown    = "enigma/it-triggerdown",
  185.     triggerup      = "enigma/it-triggerup",
  186.     turnstileleft  = "enigma/turnstileleft",  -- missing
  187.     turnstileright = "enigma/turnstileright", -- missing
  188.     umbrellaoff    = "",
  189.     umbrellaon     = "",
  190.     umbrellawarn   = "",
  191.     unlock         = "enigma/unlock",    -- missing
  192.     vortexclose    = "enigma/doorclose", -- missing
  193.     vortexopen     = "enigma/dooropen",  -- missing
  194.     warp           = "enigma/warp",      -- missing, maybe suck2?
  195.     whitebomb      = "enigma/explosion1",
  196.     wood           = "enigma/wood",
  197.     yinyang        = "enigma/st-magic",
  198. }
  199.  
  200. soundtable_silent = {
  201.     [""]           = "",        -- empty sound
  202.     ballcollision  = { silence_string = "tack" },
  203.     blackbomb      = { silence_string = "KABOOM!" },
  204.     blockerdown    = "",
  205.     blockerup      = "",
  206.     booze          = "",
  207.     bumper         = { silence_string = "Doinc" },
  208.     cloth          = { silence_string = "bump" },
  209.     coinslotoff    = "",
  210.     coinsloton     = { silence_string = "kachink" },
  211.     crack          = { silence_string = "Crrr..." },
  212.     doorclose      = "",
  213.     dooropen       = "",
  214.     drown          = { silence_string = "blupp" },
  215.     dynamite       = { silence_string = "Boom!" },
  216.     electric       = { silence_string = "cling" },
  217.     exit           = "",
  218.     extinguish     = { silence_string = "pfff..." },
  219.     fakeoxyd       = { silence_string = "ding-dang" },
  220.     falldown       = "",
  221.     fart           = { silence_string = "Prfft!" },
  222.     finished       = { silence_string = "Finished!" },
  223.     floordestroy   = { silence_string = "CrraaACK!" },
  224.     fourswitch     = { silence_string = "Clihick" }, 
  225.     glass          = { silence_string = "Cliorr" },
  226.     hitfloor       = { silence_string = "Bang" },
  227.     impulse        = "",
  228.     intro          = "",
  229.     invrotate      = "",
  230.     itemtransform  = { silence_string = "Tatam!" },
  231.     jump           = { silence_string = "Doink" },
  232.     jumppad        = { silence_string = "da-Doink" },
  233.     landmine       = { silence_string = "click-BANG!" },
  234.     laserloop      = "",
  235.     laseron        = { silence_string = "wuuiim!" },
  236.     laseroff       = "",
  237.     lock           = "",
  238.     magneton       = "",
  239.     magnetoff      = "",
  240.     mail           = "",
  241.     menuexit       = "",
  242.     menumove       = "",
  243.     menuok         = "",
  244.     menustop       = "",
  245.     menuswitch     = "",
  246.     metal          = { silence_string = "clang" },
  247.     mirrorturn     = { silence_string = "wrrr" },
  248.     movebig        = { silence_string = "swosh" },
  249.     moveslow       = { silence_string = "swosh" },
  250.     movesmall      = { silence_string = "swosh" },
  251.     oxydclose      = "",
  252.     oxydopen       = { silence_string = "da-Ding" },
  253.     oxydopened     = { silence_string = "da-Dang!" },
  254.     pickup         = { silence_string = "pick" },
  255.     puller         = "",
  256.     puzzlerotate   = { silence_string = "rot-rot" },
  257.     rubberband     = { silence_string = "Boing!" },
  258.     scissors       = "",
  259.     seedgrow       = { silence_string = "krk...krk" },
  260.     shatter        = { silence_string = "CLIRR!!" },
  261.     shattersmall   = { silence_string = "CLIRR!" },
  262.     shogunoff      = "",
  263.     shogunon       = "",
  264.     skull          = "",
  265.     spade          = "",
  266.     squish         = "",
  267.     stone          = { silence_string = "dopp" },
  268.     stonedestroy   = { silence_string = "BANG!" },
  269.     stonepaint     = { silence_string = "flatsh" },
  270.     stonetransform = { silence_string = "Tradam!" },
  271.     swamp          = { silence_string = "gulp" },
  272.     switchmarbles  = "",
  273.     switchoff      = "",
  274.     switchon       = { silence_string = "Click" },
  275.     switchplayer   = { silence_string = "switch-switch" },
  276.     sword          = "",
  277.     thief          = { silence_string = "hehee!" },
  278.     triggerdown    = { silence_string = "ca-lik" },
  279.     triggerup      = { silence_string = "ca-lak" },
  280.     turnstileleft  = "",
  281.     turnstileright = "",
  282.     umbrellaoff    = "",
  283.     umbrellaon     = "",
  284.     umbrellawarn   = "",
  285.     unlock         = "",
  286.     vortexclose    = "",
  287.     vortexopen     = "",
  288.     warp           = "",
  289.     whitebomb      = { silence_string = "KABOOOOM!!" },
  290.     wood           = { silence_string = "dok" },
  291.     yinyang        = { silence_string = "Tradim!" },
  292. }
  293.  
  294. soundtable_oxyd = {
  295.     [""]           = "",        -- empty sound
  296.     ballcollision  = "OXKLICK3.SDD",
  297.     blackbomb      = "OXCRASH2.SDD",
  298.     blockerdown    = "",
  299.     blockerup      = "",
  300.     booze          = "",
  301.     bumper         = "OXWOUOU.SDD",
  302.     cloth          = "OXKLICK4.SDD",
  303.     coinslotoff    = "",
  304.     coinsloton     = "OXMONEY.SDD",
  305.     crack          = { file="OXCRACK.SDD", volume=0.7 },
  306.     doorclose      = "OXMOTOR.SDD",
  307.     dooropen       = "OXMOTOR.SDD",
  308.     drown          = "OXBLOOP.SDD",
  309.     dynamite       = "OXCRASH1.SDD",
  310.     electric       = "OXKLICK6.SDD",
  311.     exit           = { file="OXEXIT.SDD", global=true },
  312.     extinguish     = "",
  313.     fakeoxyd       = "",
  314.     falldown       = "",
  315.     fart           = "OXUNTITL.SDD",
  316.     finished       = { file="OXFINITO.SDD", global=true },
  317.     floordestroy   = "OXCRASH2",
  318.     fourswitch     = "",
  319.     glass          = "OXKLICK1.SDD",
  320.     hitfloor       = "OXKLICK1.SDD",
  321.     impulse        = "OXWOUOU.SDD",
  322.     intro          = { file="OXINTRO.SDD", global=true },
  323.     invrotate      = { file="OXINVROT.SDD", global=true },
  324.     itemtransform  = "OXMAGIC1.SDD",
  325.     jump           = "OXJUMP.SDD",
  326.     jumppad        = "",
  327.     landmine       = "explosion1",
  328.     laserloop      = "",
  329.     laseron        = "OXLASER.SDD",
  330.     laseroff       = "",
  331.     lock           = "",
  332.     magneton       = "",
  333.     magnetoff      = "",
  334.     mail           = "",
  335.     metal          = "OXKLICK2.SDD",
  336.     mirrorturn     = "OXTURN.SDD",
  337.     movebig        = "OXMOVE.SDD",
  338.     moveslow       = "OXMOVE.SDD",
  339.     movesmall      = "OXMOVE.SDD",
  340.     oxydclose      = "OXMEMCL.SDD",
  341.     oxydopen       = "OXMEMOP.SDD",
  342.     oxydopened     = "OXMEMOK.SDD",
  343.     pickup         = "OXINVENT.SDD",
  344.     puller         = "OXPULLER.SDD",
  345.     puzzlerotate   = "OXMOVE.SDD",
  346.     rubberband     = "OXBOING.SDD",
  347.     scissors       = "OXCUT.SDD",
  348.     seedgrow       = "",
  349.     shatter        = "OXKLIRR.SDD",
  350.     shattersmall   = "OXKLIRR.SDD",
  351.     shogunoff      = "",
  352.     shogunon       = "",
  353.     skull          = "",
  354.     spade          = "",
  355.     squish         = "OXMATSCH.SDD",
  356.     stone          = "OXKLICK1.SDD",
  357.     stonedestroy   = "OXCRASH2.SDD",
  358.     stonepaint     = "OXMAGIC.SDD",
  359.     stonetransform = "OXMAGIC.SDD",
  360.     swamp          = "OXBLOOP.SDD",
  361.     switchmarbles  = "",
  362.     switchoff      = "",
  363.     switchon       = "",
  364.     switchplayer   = "",
  365.     sword          = "",
  366.     thief          = "OXTHIEF.SDD",
  367.     triggerdown    = "OXSWON.SDD",
  368.     triggerup      = "OXSWOFF.SDD",
  369.     turnstileleft  = "OXMAGIC4.SDD",
  370.     turnstileright = "OXMAGIC3.SDD",
  371.     umbrellaoff    = "",
  372.     umbrellaon     = "",
  373.     umbrellawarn   = "",
  374.     unlock         = "",
  375.     vortexclose    = "OXMOTOR.SDD",
  376.     vortexopen     = "OXMOTOR.SDD",
  377.     warp           = "OXTRANS.SDD",
  378.     whitebomb      = "OXCRASH2.SDD",
  379.     wood           = "OXKLICK1.SDD",
  380.     yinyang        = "OXMAGIC.SDD",
  381. }    
  382. copy_missing (soundtable_enigma, soundtable_oxyd)
  383.  
  384. soundtable_oxm = {
  385.     turnstileleft = "OXTURNL.SDD",
  386.     turnstileright = "OXTURNL.SDD"
  387. }
  388. copy_missing (soundtable_oxyd, soundtable_oxm)
  389.  
  390. --------------------------------------
  391. -- Register predefined sound tables --
  392. --------------------------------------
  393.  
  394. AddSoundSet ("Oxyd*", soundtable_oxyd)
  395. AddSoundSet ("Magnum*", soundtable_oxm)
  396. --AddSoundSet ("Silent", soundtable_silent)
  397. AddSoundSet ("Enigma", soundtable_enigma)
  398.  
  399. ActivateSoundSet ("Enigma")
  400.  
  401.  
  402.