68 lines
1.9 KiB
Haskell
68 lines
1.9 KiB
Haskell
module Main where
|
|
|
|
import Loop
|
|
import EventHelper
|
|
import Shaders
|
|
import Render
|
|
import Shapes
|
|
|
|
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.Rendering
|
|
import Dodge.Menu
|
|
|
|
import Picture
|
|
import Picture.Render
|
|
import Picture.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,translate,rotate)
|
|
--Mix.openAudio Mix.defaultAudio 256 >>
|
|
|
|
initWorld = initialWorld
|
|
{ _randGen = mkStdGen 2
|
|
, _windowX = 800
|
|
, _windowY = 600
|
|
}
|
|
|
|
pps = [(0,0),(50,0),(0,25)]
|
|
ppt = [(0,0),(-0.50,0),(0.20,0.25)]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
-- loadedSounds <- loadSounds
|
|
setupLoop
|
|
"windowName"
|
|
800 600
|
|
doPreload'
|
|
cleanUpPreload
|
|
(initializeWorld $ generateFromTree lev1 $ initWorld)
|
|
(-- \((bs:fs:ts:_),tes) w -> --do render setparams w egFade
|
|
\preData w -> --do render setparams w egFade
|
|
renderPicture' preData (_cameraRot w) (_cameraZoom w)
|
|
(_cameraPos w)
|
|
(_windowX w,_windowY w) (draw blank w)
|
|
--renderPicture' preData (_windowX w,_windowY w) (Circle 5)
|
|
-- renderPicture' preData
|
|
-- (pictures [scale 0.5 0.9 $ polygon [(0,0),(0,-0.5),(-0.5,-0.5),(-0.5,0.0)]
|
|
-- ,scale 0.5 0.9 $ polygon [(0,0),(0,-0.5),(-0.5,-0.5),(-0.5,0.0)]
|
|
-- ,color red $ scale 0.0005 0.0005 $ text "asdf"
|
|
-- ]
|
|
-- )
|
|
)
|
|
(flip $ menuEvents $ flip handleEvent)
|
|
(\w -> Just $ update w)
|
|
Mix.closeAudio
|