diff --git a/appDodge/Main.hs b/appDodge/Main.hs index 7bf9b13f5..142996c84 100644 --- a/appDodge/Main.hs +++ b/appDodge/Main.hs @@ -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 } diff --git a/src/Data/Preload.hs b/src/Data/Preload.hs index 35433a5c0..8e849283f 100644 --- a/src/Data/Preload.hs +++ b/src/Data/Preload.hs @@ -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 diff --git a/src/Music.hs b/src/Music.hs deleted file mode 100644 index 6889c8107..000000000 --- a/src/Music.hs +++ /dev/null @@ -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 - } diff --git a/src/Preload.hs b/src/Preload.hs index f185ff61e..01ae6cc38 100644 --- a/src/Preload.hs +++ b/src/Preload.hs @@ -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" diff --git a/src/Sound.hs b/src/Sound.hs index e1f08153e..9a7ae1701 100644 --- a/src/Sound.hs +++ b/src/Sound.hs @@ -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 diff --git a/src/Sound/Data.hs b/src/Sound/Data.hs index 43e2c5032..83100d98e 100644 --- a/src/Sound/Data.hs +++ b/src/Sound/Data.hs @@ -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