pituicat/src/State/Loading/Load.hs

36 lines
823 B
Haskell
Raw Normal View History

2020-10-16 23:53:25 +00:00
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
2020-12-06 07:14:50 +00:00
import Control.Concurrent (forkIO)
2020-10-16 23:53:25 +00:00
import Control.Concurrent.STM
-- internal imports
import Types
2020-12-06 07:14:50 +00:00
import Classes
2020-10-16 23:53:25 +00:00
import Map
initLoad
2020-10-16 23:53:25 +00:00
:: GameData
-> Affection ()
2020-12-06 07:14:50 +00:00
initLoad gd = do
(Stage scene) <- liftIO $ atomically $ readTMVar $ gameScene gd
tid <- liftIO $ forkIO $ loadScene scene (gameStateLoadProgress gd)
liftIO $ atomically $ writeTVar (gameLoadThread gd) (Just tid)