Refactor level/room generation modules
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Preload
|
||||
where
|
||||
import Picture.Preload
|
||||
import Sound.Preload
|
||||
import Control.Lens
|
||||
|
||||
import GHC.Word (Word32)
|
||||
|
||||
data PreloadData a = PreloadData
|
||||
{ _renderData :: RenderData
|
||||
, _soundData :: SoundData a
|
||||
, _currentTime :: Word32
|
||||
, _renderTime :: Word32
|
||||
, _renderLighting :: Word32
|
||||
, _renderPicture :: Word32
|
||||
, _simTime :: Word32
|
||||
, _mixerTime :: Word32
|
||||
, _idleTime :: Word32
|
||||
, _gcTime :: Word32
|
||||
, _pokeTime :: Word32
|
||||
}
|
||||
|
||||
makeLenses ''PreloadData
|
||||
|
||||
doPreload :: IO (PreloadData a)
|
||||
doPreload = do
|
||||
sData <- preloadSound
|
||||
rData <- preloadRender
|
||||
return $ PreloadData rData sData 0 0 0 0 0 0 0 0 0
|
||||
|
||||
cleanUpPreload :: PreloadData a -> IO ()
|
||||
cleanUpPreload pd = do
|
||||
cleanUpRenderPreload $ _renderData pd
|
||||
cleanUpSoundPreload $ _soundData pd
|
||||
|
||||
showTiming :: PreloadData a -> IO ()
|
||||
showTiming pd = do
|
||||
putStrLn $ "Time rendering: " ++ show (_renderTime pd)
|
||||
putStrLn $ "Time renderingLighting: " ++ show (_renderLighting pd)
|
||||
putStrLn $ "Time renderingPicture: " ++ show (_renderPicture pd)
|
||||
putStrLn $ "Time sim-ing: " ++ show (_simTime pd)
|
||||
putStrLn $ "Time mixing: " ++ show (_mixerTime pd)
|
||||
putStrLn $ "Time idle: " ++ show (_idleTime pd)
|
||||
putStrLn $ "Time gc: " ++ show (_gcTime pd)
|
||||
putStrLn $ "Time pokeing: " ++ show (_pokeTime pd)
|
||||
|
||||
Reference in New Issue
Block a user