68 lines
1.9 KiB
Haskell
68 lines
1.9 KiB
Haskell
module Dodge.Initialisation where
|
|
-- imports {{{
|
|
import Dodge.Prototypes
|
|
import Dodge.Data
|
|
import Dodge.Critters
|
|
import Dodge.Base
|
|
|
|
import Data.List
|
|
import Data.Char
|
|
import Data.Maybe
|
|
import Data.Function
|
|
import Data.Graph.Inductive.Graph
|
|
import Data.Graph.Inductive.PatriciaTree
|
|
import Codec.BMP
|
|
import qualified Data.ByteString as B
|
|
import Control.Lens
|
|
import Control.Applicative
|
|
import Control.Monad.State
|
|
import Control.Monad
|
|
import System.Random
|
|
import qualified Data.Set as S
|
|
import qualified Data.IntMap.Strict as IM
|
|
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 Control.Concurrent
|
|
import Data.Tree
|
|
|
|
initializeWorld :: World -> World
|
|
initializeWorld w = w
|
|
|
|
initialWorld = basicWorld
|
|
{ _keys = S.empty
|
|
, _cameraPos = (0,0)
|
|
, _cameraRot = 0
|
|
, _cameraZoom = 1
|
|
, _creatures = IM.fromList [(0,startCr)]
|
|
, _particles = IM.empty
|
|
, _walls = IM.empty
|
|
, _forceFields = IM.empty
|
|
, _floorItems = IM.empty
|
|
, _randGen = mkStdGen 2
|
|
, _mousePos = (0,0)
|
|
, _testString = []
|
|
, _yourID = 0
|
|
, _worldEvents = id
|
|
, _pressPlates = IM.empty
|
|
, _buttons = IM.empty
|
|
, _soundQueue = []
|
|
-- , _loadedSounds = IM.empty
|
|
, _sounds = M.empty
|
|
, _decorations = IM.empty
|
|
, _storedLevel = Nothing
|
|
, _menuState = LevelMenu 1
|
|
, _worldState = M.empty
|
|
, _windowX = 800
|
|
, _windowY = 840
|
|
}
|
|
|
|
|