2014-01-05 19:09:01 +01:00
|
|
|
{-# LANGUAGE BangPatterns #-}
|
2014-01-20 14:12:02 +01:00
|
|
|
module Main where
|
2014-01-03 03:01:54 +01:00
|
|
|
|
2014-01-20 14:12:02 +01:00
|
|
|
-- Monad-foo
|
|
|
|
import Control.Applicative
|
|
|
|
import Control.Monad (unless, void, when)
|
|
|
|
import Control.Monad.Trans.Maybe (MaybeT (..), runMaybeT)
|
|
|
|
-- data consistency
|
2014-01-05 20:23:22 +01:00
|
|
|
import Control.Concurrent.STM (TQueue, atomically,
|
|
|
|
newTQueueIO,
|
|
|
|
tryReadTQueue,
|
|
|
|
writeTQueue)
|
|
|
|
import Control.Monad.RWS.Strict (RWST, ask, asks,
|
|
|
|
evalRWST, get, liftIO,
|
|
|
|
modify, put)
|
2014-01-20 14:12:02 +01:00
|
|
|
-- FFI
|
2014-01-05 20:23:22 +01:00
|
|
|
import Foreign (Ptr, castPtr, with)
|
|
|
|
import Foreign.C (CFloat)
|
2014-01-20 14:12:02 +01:00
|
|
|
|
|
|
|
-- Math
|
|
|
|
import Control.Lens (transposeOf, (^.))
|
2014-01-05 20:23:22 +01:00
|
|
|
import Linear as L
|
|
|
|
|
2014-01-20 14:12:02 +01:00
|
|
|
-- GUI
|
2014-01-20 15:03:20 +01:00
|
|
|
import Graphics.UI.SDL
|
2014-01-20 14:12:02 +01:00
|
|
|
|
|
|
|
-- Render
|
2014-01-05 20:23:22 +01:00
|
|
|
import qualified Graphics.Rendering.OpenGL.GL as GL
|
|
|
|
import Graphics.Rendering.OpenGL.Raw.Core31
|
|
|
|
|
2014-01-20 14:12:02 +01:00
|
|
|
-- Our modules
|
2014-01-05 20:23:22 +01:00
|
|
|
import Map.Map
|
|
|
|
import Render.Misc (checkError,
|
|
|
|
createFrustum, getCam,
|
|
|
|
lookAt, up)
|
|
|
|
import Render.Render (initRendering,
|
|
|
|
initShader)
|
2014-01-03 03:01:54 +01:00
|
|
|
|
2013-12-29 18:18:18 +01:00
|
|
|
|
2013-12-22 23:29:11 +01:00
|
|
|
main :: IO ()
|
2014-01-20 14:12:02 +01:00
|
|
|
main = return ()
|
2014-01-03 03:01:54 +01:00
|
|
|
|