Load window size from config into world
This commit is contained in:
+5
-11
@@ -34,25 +34,15 @@ import qualified SDL as SDL
|
|||||||
import qualified SDL.Mixer as Mix
|
import qualified SDL.Mixer as Mix
|
||||||
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
|
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
|
||||||
|
|
||||||
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 :: IO ()
|
||||||
main = do
|
main = do
|
||||||
-- loadedSounds <- loadSounds
|
|
||||||
(sizex,sizey) <- loadConfig
|
(sizex,sizey) <- loadConfig
|
||||||
setupLoop
|
setupLoop
|
||||||
"windowName"
|
"windowName"
|
||||||
sizex sizey
|
sizex sizey
|
||||||
(doPreload >>= resizeSpareFBO sizex sizey)
|
(doPreload >>= resizeSpareFBO sizex sizey)
|
||||||
cleanUpPreload
|
cleanUpPreload
|
||||||
(initializeWorld $ generateFromTree lev1 $ initWorld)
|
(fmap (setWindowSize sizex sizey) firstWorld)
|
||||||
( \preData w -> do
|
( \preData w -> do
|
||||||
startTicks <- SDL.ticks
|
startTicks <- SDL.ticks
|
||||||
(lightTicks,timeSpentPoking) <- renderPicture' (_renderData preData)
|
(lightTicks,timeSpentPoking) <- renderPicture' (_renderData preData)
|
||||||
@@ -80,3 +70,7 @@ main = do
|
|||||||
(flip $ menuEvents $ flip handleEvent)
|
(flip $ menuEvents $ flip handleEvent)
|
||||||
(\w -> Just $ update w)
|
(\w -> Just $ update w)
|
||||||
Mix.closeAudio
|
Mix.closeAudio
|
||||||
|
|
||||||
|
setWindowSize :: Int -> Int -> World -> World
|
||||||
|
setWindowSize x y w = w & windowX .~ fromIntegral x
|
||||||
|
& windowY .~ fromIntegral y
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import Dodge.Prototypes
|
|||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Dodge.Critters
|
import Dodge.Critters
|
||||||
import Dodge.Base
|
import Dodge.Base
|
||||||
|
import Dodge.Floor
|
||||||
|
import Dodge.Layout
|
||||||
|
|
||||||
import Data.List
|
import Data.List
|
||||||
import Data.Char
|
import Data.Char
|
||||||
@@ -22,13 +24,6 @@ import qualified Data.Set as S
|
|||||||
import qualified Data.IntMap.Strict as IM
|
import qualified Data.IntMap.Strict as IM
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
|
|
||||||
--import Graphics.Gloss
|
|
||||||
--import Graphics.Gloss.Interface.IO.Game
|
|
||||||
--import Graphics.Gloss.Geometry.Angle
|
|
||||||
--import Graphics.Gloss.Geometry.Line
|
|
||||||
--import qualified Graphics.Gloss.Data.Point.Arithmetic as PA
|
|
||||||
--import Graphics.Gloss.Data.Vector
|
|
||||||
--import Graphics.Gloss.Data.Point
|
|
||||||
import Foreign.ForeignPtr
|
import Foreign.ForeignPtr
|
||||||
import Control.Concurrent
|
import Control.Concurrent
|
||||||
import Data.Tree
|
import Data.Tree
|
||||||
@@ -36,6 +31,10 @@ import Data.Tree
|
|||||||
initializeWorld :: World -> World
|
initializeWorld :: World -> World
|
||||||
initializeWorld w = w
|
initializeWorld w = w
|
||||||
|
|
||||||
|
firstWorld :: IO World
|
||||||
|
firstWorld = return $ generateFromTree lev1 $ initialWorld
|
||||||
|
|
||||||
|
initialWorld :: World
|
||||||
initialWorld = basicWorld
|
initialWorld = basicWorld
|
||||||
{ _keys = S.empty
|
{ _keys = S.empty
|
||||||
, _cameraPos = (0,0)
|
, _cameraPos = (0,0)
|
||||||
@@ -61,7 +60,7 @@ initialWorld = basicWorld
|
|||||||
, _menuState = LevelMenu 1
|
, _menuState = LevelMenu 1
|
||||||
, _worldState = M.empty
|
, _worldState = M.empty
|
||||||
, _windowX = 800
|
, _windowX = 800
|
||||||
, _windowY = 840
|
, _windowY = 600
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -31,13 +31,14 @@ setupLoop :: String
|
|||||||
-> Int
|
-> Int
|
||||||
-> IO (PreloadData a)
|
-> IO (PreloadData a)
|
||||||
-> (PreloadData a -> IO ())
|
-> (PreloadData a -> IO ())
|
||||||
-> world
|
-> IO world
|
||||||
-> (PreloadData a -> world -> IO (PreloadData a))
|
-> (PreloadData a -> world -> IO (PreloadData a))
|
||||||
-> (world -> Event -> Maybe world)
|
-> (world -> Event -> Maybe world)
|
||||||
-> (world -> Maybe world)
|
-> (world -> Maybe world)
|
||||||
-> IO ()
|
-> IO ()
|
||||||
setupLoop wName xSize ySize
|
setupLoop wName xSize ySize
|
||||||
customInit initCleanup startWorld sideEffects eventFn worldFn = do
|
customInit initCleanup ioStartWorld sideEffects eventFn worldFn = do
|
||||||
|
startWorld <- ioStartWorld
|
||||||
initializeAll
|
initializeAll
|
||||||
bracket (createWindow (T.pack wName) (winConfig xSize ySize)) destroyWindow
|
bracket (createWindow (T.pack wName) (winConfig xSize ySize)) destroyWindow
|
||||||
(\window ->
|
(\window ->
|
||||||
|
|||||||
Reference in New Issue
Block a user