Cleanup (remove) _soundData, _musicData
This commit is contained in:
+3
-4
@@ -22,7 +22,6 @@ import Dodge.TestString
|
||||
import Dodge.Update
|
||||
--import qualified IntMapHelp as IM
|
||||
import Loop
|
||||
import Music
|
||||
--import Picture
|
||||
import Preload
|
||||
import Preload.Render
|
||||
@@ -121,7 +120,7 @@ playSoundUnlessRewinding u = case w ^. timeFlow of
|
||||
doSideEffects :: Universe -> IO Universe
|
||||
doSideEffects u = do
|
||||
newPlayingSounds <- playSoundUnlessRewinding u
|
||||
playSoundQueue (_loadedChunks . _soundData $ _preloadData u) (fmap _getSoundID $ u ^. uvSoundQueue)
|
||||
playSoundQueue (_soundData $ _preloadData u) (fmap _getSoundID $ u ^. uvSoundQueue)
|
||||
u' <- _uvIOEffects u u
|
||||
endTicks <- SDL.ticks
|
||||
return $
|
||||
@@ -146,7 +145,7 @@ doPreload = do
|
||||
return
|
||||
PreloadData
|
||||
{ _renderData = rData
|
||||
, _soundData = SoundData{_loadedChunks = lChunks}
|
||||
, _soundData = lChunks
|
||||
--, _musicData = MusicData{_loadedMusic = lMusic}
|
||||
, _musicData = MusicData{_loadedMusic = undefined}
|
||||
, _musicData = mempty
|
||||
}
|
||||
|
||||
+4
-4
@@ -3,14 +3,14 @@
|
||||
module Data.Preload where
|
||||
|
||||
import Control.Lens
|
||||
import Data.IntMap.Strict
|
||||
import Data.Preload.Render
|
||||
import Music
|
||||
import Sound.Data
|
||||
import SDL.Mixer
|
||||
|
||||
data PreloadData = PreloadData
|
||||
{ _renderData :: RenderData
|
||||
, _soundData :: SoundData
|
||||
, _musicData :: MusicData
|
||||
, _soundData :: IntMap Chunk
|
||||
, _musicData :: IntMap Chunk
|
||||
}
|
||||
|
||||
makeLenses ''PreloadData
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
module Music
|
||||
( MusicData (..)
|
||||
) where
|
||||
import qualified SDL.Mixer as Mix
|
||||
import qualified IntMapHelp as IM
|
||||
|
||||
newtype MusicData = MusicData
|
||||
{ _loadedMusic :: IM.IntMap Mix.Music
|
||||
}
|
||||
+2
-2
@@ -2,15 +2,15 @@ module Preload (
|
||||
cleanUpPreload,
|
||||
) where
|
||||
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import Data.Preload
|
||||
import Preload.Render
|
||||
import qualified SDL.Mixer as Mix
|
||||
import Sound.Data
|
||||
|
||||
cleanUpPreload :: PreloadData -> IO ()
|
||||
cleanUpPreload pd = do
|
||||
cleanUpRenderPreload $ _renderData pd
|
||||
cleanUpSoundPreload $ _soundData pd
|
||||
|
||||
cleanUpSoundPreload :: SoundData -> IO ()
|
||||
cleanUpSoundPreload :: IM.IntMap Mix.Chunk -> IO ()
|
||||
cleanUpSoundPreload _ = Mix.closeAudio >> putStrLn "Audio closed"
|
||||
|
||||
+2
-2
@@ -52,9 +52,9 @@ In the update:
|
||||
4. remove sounds that have stopped playing from the map.
|
||||
-}
|
||||
playSoundAndUpdate
|
||||
:: Ord a => SoundData -> M.Map a Sound -> M.Map a Sound -> IO (M.Map a Sound)
|
||||
:: Ord a => IM.IntMap Mix.Chunk -> M.Map a Sound -> M.Map a Sound -> IO (M.Map a Sound)
|
||||
playSoundAndUpdate sData oldSounds newSounds
|
||||
= updateSounds (_loadedChunks sData) (M.unionWith mergeSound oldSounds newSounds)
|
||||
= updateSounds sData (M.unionWith mergeSound oldSounds newSounds)
|
||||
|
||||
mergeSound :: Sound -> Sound -> Sound
|
||||
mergeSound oldS newS
|
||||
|
||||
@@ -11,7 +11,6 @@ import Data.Aeson.TH
|
||||
import Data.Int (Int16)
|
||||
import Data.Word (Word8)
|
||||
import Geometry.Data
|
||||
import qualified IntMapHelp as IM
|
||||
import qualified SDL.Mixer as Mix
|
||||
|
||||
data SoundStatus = SoundStatus
|
||||
@@ -33,10 +32,6 @@ data PlayStatus
|
||||
newtype SoundID = SoundID {_getSoundID :: Int}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
newtype SoundData = SoundData
|
||||
{ _loadedChunks :: IM.IntMap Mix.Chunk
|
||||
}
|
||||
|
||||
data ToPlaySound = ToPlaySound
|
||||
{ _toPlaySoundTime :: Maybe Int
|
||||
, _toPlaySoundStatus :: SoundStatus
|
||||
@@ -59,7 +54,6 @@ data Sound = Sound
|
||||
}
|
||||
deriving (Eq, Ord, Show)
|
||||
|
||||
makeLenses ''SoundData
|
||||
makeLenses ''Sound
|
||||
makeLenses ''SoundID
|
||||
makeLenses ''SoundStatus
|
||||
|
||||
Reference in New Issue
Block a user