module Main where import Loop import EventHelper import Shaders import Render import Shapes import Dodge.Rendering import Dodge.RenderPicture import Dodge.Picture import Dodge.Prototypes import Dodge.Data import Dodge.Initialisation import Dodge.Rooms import Dodge.Layout import Dodge.LoadSound import Dodge.Update import Dodge.KeyEvents import Dodge.Preload import Control.Concurrent import Control.Lens import System.Random import qualified SDL as SDL import qualified SDL.Mixer as Mix import Graphics.Rendering.OpenGL hiding (color,scale) --Mix.openAudio Mix.defaultAudio 256 >> initWorld = initialWorld { _randGen = mkStdGen 2 , _windowX = 800 , _windowY = 600 } pps = [(0,0),(50,0),(0,25)] ppt = [(0,0),(-50,0),(20,25)] tSh = TextShape [((0.0,0.0,0),(1,0,1,1),(s,1)) ,((0.5,0.0,0),(1,1,1,1),(e,1)) ,((0.5,1.0,0),(1,1,1,1),(e,0)) ,((0.0,1.0,0),(1,1,1,1),(s,0)) ] where x = 1/128 s = 20 * x e = s + x tSh' = TShape' [0.0,0.0,0,1,0,1,1,s,1 ,0.5,0.0,0,1,1,1,1,e,1 ,0.5,1.0,0,1,1,1,1,e,0 ,0.0,1.0,0,1,1,1,1,s,0 ] TriangleFan where x = 1/128 s = 20 * x e = s + x tSha = TShape' [0.0,0.0,0,1,1,1,1 ,50 ,0.0,0,1,1,1,1 ,50 ,50 ,0,1,1,1,1 ,0.0,1.0,0,1,1,1,1 ] TriangleFan main :: IO () main = do -- loadedSounds <- loadSounds setupLoop "windowName" 800 600 doPreload' (initializeWorld $ generateFromTree lev1 $ initWorld) (-- \((bs:fs:ts:_),tes) w -> --do render setparams w egFade \preData w -> --do render setparams w egFade --renderPicture preData (draw blank w) renderPicture' preData (pictures' [--scale' 0.5 0.9 $ polygon' [(0,0),(0,0.5),(0.5,0.5),(0.5,0.0)] scale' 0.0005 0.0005 $ text' "asdf" ] ) -- renderTex'' preData tSh ) handleEvent (\w -> Just $ update w) Mix.closeAudio