Add machine sounds
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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))]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user