86 lines
2.1 KiB
Haskell
86 lines
2.1 KiB
Haskell
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
|