pituicat/src/State/Loading/Load.hs

36 lines
823 B
Haskell

module State.Loading.Load where
import Affection
import SDL (($=), get)
import qualified SDL
import qualified SDL.Internal.Numbered as SDL
import qualified SDL.Raw.Video as SDL (glSetAttribute)
import qualified SDL.Raw.Enum as SDL
import qualified Graphics.Rendering.OpenGL as GL
import qualified Graphics.GL as GLRaw
import Foreign.Marshal.Array
import qualified Data.ByteString as B
import qualified Data.ByteString.Char8 as B8
import Control.Concurrent (forkIO)
import Control.Concurrent.STM
-- internal imports
import Types
import Classes
import Map
initLoad
:: GameData
-> Affection ()
initLoad gd = do
(Stage scene) <- liftIO $ atomically $ readTMVar $ gameScene gd
tid <- liftIO $ forkIO $ loadScene scene (gameStateLoadProgress gd)
liftIO $ atomically $ writeTVar (gameLoadThread gd) (Just tid)