Add machine sounds

This commit is contained in:
2022-03-15 10:12:41 +00:00
parent 8fb42bca2d
commit a36139aa7a
6 changed files with 97 additions and 62 deletions
-1
View File
@@ -18,7 +18,6 @@ import Render
import Preload.Render import Preload.Render
import Sound import Sound
import Preload import Preload
import Sound.Data
import Music import Music
import Data.Preload import Data.Preload
import Data.Preload.Render import Data.Preload.Render
+6 -6
View File
@@ -14,14 +14,14 @@ import Control.Monad.State
lockRoomKeyItems :: RandomGen g => [ (Int -> State g (SubCompTree Room) , State g CombineType ) ] lockRoomKeyItems :: RandomGen g => [ (Int -> State g (SubCompTree Room) , State g CombineType ) ]
lockRoomKeyItems = lockRoomKeyItems =
[(lasCenSensEdge, takeOne [LAUNCHER,LASGUN,SPARKGUN,FLATSHIELD] ) -- [(lasCenSensEdge, takeOne [LAUNCHER,LASGUN,SPARKGUN,FLATSHIELD] )
,(sensorRoomRunPast Electrical, return SPARKGUN ) [(sensorRoomRunPast Electrical, return SPARKGUN )
,(sensorRoomRunPast Flaming, return FLAMESPITTER ) ,(sensorRoomRunPast Flaming, return FLAMESPITTER )
,(sensorRoomRunPast Lasering, return LASGUN ) ,(sensorRoomRunPast Lasering, return LASGUN )
,(const slowDoorRoomRunPast, return MINIGUN) -- ,(const slowDoorRoomRunPast, return MINIGUN)
,(const longRoomRunPast, takeOne [SNIPERRIFLE,FLATSHIELD]) -- ,(const longRoomRunPast, takeOne [SNIPERRIFLE,FLATSHIELD])
,(const glassLessonRunPast, takeOne [LASGUN]) -- ,(const glassLessonRunPast, takeOne [LASGUN])
,(const $ lasTunnelRunPast 400, return FLATSHIELD) -- ,(const $ lasTunnelRunPast 400, return FLATSHIELD)
] ]
itemRooms :: RandomGen g => [(CombineType, State g (SubCompTree Room))] itemRooms :: RandomGen g => [(CombineType, State g (SubCompTree Room))]
+12
View File
@@ -2,6 +2,10 @@ module Dodge.Machine where
import Dodge.Data import Dodge.Data
import Dodge.Wall.Delete import Dodge.Wall.Delete
import LensHelp import LensHelp
import Sound.Data
import Dodge.SoundLogic
import Geometry
import Dodge.Base
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
@@ -15,3 +19,11 @@ machineUpdateDeathEff f mc
where where
dams = sum $ map _dmAmount $ _mcDamage mc dams = sum $ map _dmAmount $ _mcDamage mc
mcid = _mcID mc mcid = _mcID mc
machineAddSound :: SoundID -> (Machine -> World -> World) -> Machine -> World -> World
machineAddSound sid f mc w
| dist (_crPos $ you w) (_mcPos mc) < 100
= soundContinue (MachineSound mid) (_mcPos mc) sid (Just 2) $ f mc w
| otherwise = f mc w
where
mid = _mcID mc
+3 -1
View File
@@ -6,6 +6,7 @@ import Dodge.Data
import Dodge.LevelGen.Data import Dodge.LevelGen.Data
import Dodge.Default import Dodge.Default
import Dodge.Machine import Dodge.Machine
import Dodge.SoundLogic
import Dodge.WorldEvent.Explosion import Dodge.WorldEvent.Explosion
import Color import Color
import Geometry import Geometry
@@ -20,7 +21,8 @@ putTerminal f = PlacementGenUpdate g $ ps0PushPS (PutButton $ thebutton)
$ \pl -> Just $ pt0 (PutMachine terminalColor (reverse $ square 10) defaultMachine $ \pl -> Just $ pt0 (PutMachine terminalColor (reverse $ square 10) defaultMachine
{ _mcDraw = drawTerminal { _mcDraw = drawTerminal
, _mcHP = 100 , _mcHP = 100
, _mcUpdate = machineUpdateDeathEff $ \mc -> (buttons . at (fromJust (_plMID pl)) .~ Nothing) , _mcUpdate = machineAddSound fridgeHumS
$ machineUpdateDeathEff $ \mc -> (buttons . at (fromJust (_plMID pl)) .~ Nothing)
. makeExplosionAt (_mcPos mc) . makeExplosionAt (_mcPos mc)
}) })
$ const Nothing $ const Nothing
@@ -1,4 +1,4 @@
-- generated at 2021-11-21 23:26:56.911504724 UTC -- generated at 2022-03-15 09:41:05.616513405 UTC
module Dodge.SoundLogic.ExternallyGeneratedSounds where module Dodge.SoundLogic.ExternallyGeneratedSounds where
import Sound.Data import Sound.Data
soundToVol :: SoundID -> Float soundToVol :: SoundID -> Float
@@ -46,25 +46,29 @@ soundToVol v = case _getSoundID v of
40 -> 5000 40 -> 5000
41 -> 2000 41 -> 2000
42 -> 3000 42 -> 3000
43 -> 12000 43 -> 5000
44 -> 5000 44 -> 10000
45 -> 10000 45 -> 12000
46 -> 12000 46 -> 5000
47 -> 2000 47 -> 10000
48 -> 3000 48 -> 12000
49 -> 8000 49 -> 2000
50 -> 5000 50 -> 3000
51 -> 2000 51 -> 8000
52 -> 3000 52 -> 5000
53 -> 10000 53 -> 2000
54 -> 10000 54 -> 3000
55 -> 3000 55 -> 10000
56 -> 15000 56 -> 500
57 -> 10000 57 -> 10000
58 -> 3000 58 -> 3000
59 -> 15000 59 -> 15000
60 -> 10000 60 -> 10000
61 -> 8000 61 -> 3000
62 -> 1000
63 -> 15000
64 -> 10000
65 -> 8000
_ -> 50 _ -> 50
soundToOnomato :: SoundID -> String soundToOnomato :: SoundID -> String
soundToOnomato v = case _getSoundID v of soundToOnomato v = case _getSoundID v of
@@ -111,25 +115,29 @@ soundToOnomato v = case _getSoundID v of
40 -> "CRTINK" 40 -> "CRTINK"
41 -> "FHP" 41 -> "FHP"
42 -> "CHPCHPCHP" 42 -> "CHPCHPCHP"
43 -> "BRPBRPBRP" 43 -> "BIPBIPBIP"
44 -> "CHNKCHNKCHUNK" 44 -> "CHUGUGUG"
45 -> "WRRR" 45 -> "BRPBRPBRP"
46 -> "BRDBRDBRD" 46 -> "CHNKCHNKCHUNK"
47 -> "PHF" 47 -> "WRRR"
48 -> "BWAAH" 48 -> "BRDBRDBRD"
49 -> "BEP" 49 -> "PHF"
50 -> "HSSS" 50 -> "BWAAH"
51 -> "SHUHP" 51 -> "BEP"
52 -> "THUD" 52 -> "HSSS"
53 -> "WHSSH" 53 -> "SHUHP"
54 -> "BRAHCHCH" 54 -> "THUD"
55 -> "TIP" 55 -> "WHSSH"
56 -> "BANGG" 56 -> "HMM"
57 -> "ZHM" 57 -> "BRAHCHCH"
58 -> "TAP" 58 -> "TIP"
59 -> "BANG" 59 -> "BANGG"
60 -> "CHUGUGUG" 60 -> "ZHM"
61 -> "CRISH" 61 -> "TAP"
62 -> "BLPCHCH"
63 -> "BANG"
64 -> "CHUGUGUG"
65 -> "CRISH"
_ -> error "unitialised sound" _ -> error "unitialised sound"
soundPathList :: [String] soundPathList :: [String]
soundPathList = soundPathList =
@@ -176,6 +184,8 @@ soundPathList =
, "smallGlass3.CRTINK.5000.wav" , "smallGlass3.CRTINK.5000.wav"
, "whiteNoiseFadeIn.FHP.2000.wav" , "whiteNoiseFadeIn.FHP.2000.wav"
, "reload1.CHPCHPCHP.3000.wav" , "reload1.CHPCHPCHP.3000.wav"
, "computerBeeping.BIPBIPBIP.5000.wav"
, "seagullChatter1.CHUGUGUG.10000.wav"
, "mini.BRPBRPBRP.12000.wav" , "mini.BRPBRPBRP.12000.wav"
, "crankSlow.CHNKCHNKCHUNK.5000.wav" , "crankSlow.CHNKCHNKCHUNK.5000.wav"
, "fireLoud.WRRR.10000.wav" , "fireLoud.WRRR.10000.wav"
@@ -187,11 +197,13 @@ soundPathList =
, "pickUp.SHUHP.2000.wav" , "pickUp.SHUHP.2000.wav"
, "hit.THUD.3000.wav" , "hit.THUD.3000.wav"
, "missileLaunch.WHSSH.10000.wav" , "missileLaunch.WHSSH.10000.wav"
, "fridgeHum.HMM.500.wav"
, "shotgun.BRAHCHCH.10000.wav" , "shotgun.BRAHCHCH.10000.wav"
, "foot1.TIP.3000.wav" , "foot1.TIP.3000.wav"
, "bangEcho.BANGG.15000.wav" , "bangEcho.BANGG.15000.wav"
, "tele.ZHM.10000.wav" , "tele.ZHM.10000.wav"
, "foot2.TAP.3000.wav" , "foot2.TAP.3000.wav"
, "oldMachineBoot.BLPCHCH.1000.wav"
, "bang.BANG.15000.wav" , "bang.BANG.15000.wav"
, "seagullChatter.CHUGUGUG.10000.wav" , "seagullChatter.CHUGUGUG.10000.wav"
, "impact4.CRISH.8000.wav" , "impact4.CRISH.8000.wav"
@@ -282,41 +294,49 @@ whiteNoiseFadeInS :: SoundID
whiteNoiseFadeInS = SoundID 41 whiteNoiseFadeInS = SoundID 41
reload1S :: SoundID reload1S :: SoundID
reload1S = SoundID 42 reload1S = SoundID 42
computerBeepingS :: SoundID
computerBeepingS = SoundID 43
seagullChatter1S :: SoundID
seagullChatter1S = SoundID 44
miniS :: SoundID miniS :: SoundID
miniS = SoundID 43 miniS = SoundID 45
crankSlowS :: SoundID crankSlowS :: SoundID
crankSlowS = SoundID 44 crankSlowS = SoundID 46
fireLoudS :: SoundID fireLoudS :: SoundID
fireLoudS = SoundID 45 fireLoudS = SoundID 47
mini1S :: SoundID mini1S :: SoundID
mini1S = SoundID 46 mini1S = SoundID 48
whiteNoiseFadeOutS :: SoundID whiteNoiseFadeOutS :: SoundID
whiteNoiseFadeOutS = SoundID 47 whiteNoiseFadeOutS = SoundID 49
sineRaisePitchTwoSecS :: SoundID sineRaisePitchTwoSecS :: SoundID
sineRaisePitchTwoSecS = SoundID 48 sineRaisePitchTwoSecS = SoundID 50
tone440S :: SoundID tone440S :: SoundID
tone440S = SoundID 49 tone440S = SoundID 51
foamSprayLoopS :: SoundID foamSprayLoopS :: SoundID
foamSprayLoopS = SoundID 50 foamSprayLoopS = SoundID 52
pickUpS :: SoundID pickUpS :: SoundID
pickUpS = SoundID 51 pickUpS = SoundID 53
hitS :: SoundID hitS :: SoundID
hitS = SoundID 52 hitS = SoundID 54
missileLaunchS :: SoundID missileLaunchS :: SoundID
missileLaunchS = SoundID 53 missileLaunchS = SoundID 55
fridgeHumS :: SoundID
fridgeHumS = SoundID 56
shotgunS :: SoundID shotgunS :: SoundID
shotgunS = SoundID 54 shotgunS = SoundID 57
foot1S :: SoundID foot1S :: SoundID
foot1S = SoundID 55 foot1S = SoundID 58
bangEchoS :: SoundID bangEchoS :: SoundID
bangEchoS = SoundID 56 bangEchoS = SoundID 59
teleS :: SoundID teleS :: SoundID
teleS = SoundID 57 teleS = SoundID 60
foot2S :: SoundID foot2S :: SoundID
foot2S = SoundID 58 foot2S = SoundID 61
oldMachineBootS :: SoundID
oldMachineBootS = SoundID 62
bangS :: SoundID bangS :: SoundID
bangS = SoundID 59 bangS = SoundID 63
seagullChatterS :: SoundID seagullChatterS :: SoundID
seagullChatterS = SoundID 60 seagullChatterS = SoundID 64
impact4S :: SoundID impact4S :: SoundID
impact4S = SoundID 61 impact4S = SoundID 65
+2
View File
@@ -17,6 +17,8 @@ module Sound (
-- * Volume Control -- * Volume Control
, setSoundVolume , setSoundVolume
, setMusicVolume , setMusicVolume
, module Sound.Data
) where ) where
import Sound.Data import Sound.Data