Correct loading of tile buffer when loading game
This commit is contained in:
+12
-7
@@ -1,17 +1,22 @@
|
||||
module Dodge.WorldLoad where
|
||||
|
||||
import Control.Lens
|
||||
import Control.Monad
|
||||
import Data.Preload.Render
|
||||
import Dodge.Data.Universe
|
||||
import Shader.Bind
|
||||
import Shader.Data
|
||||
import Shader.Poke.Floor
|
||||
import Data.Preload.Render
|
||||
import Dodge.Data.CWorld
|
||||
import Control.Monad
|
||||
import Control.Lens
|
||||
|
||||
postUniverseLoadSideEffect :: Universe -> Universe
|
||||
postUniverseLoadSideEffect = (uvIOEffects %~ (\f uv -> (uvWorld . cWorld) (postWorldLoad (uv ^. preloadData . renderData)) uv >>= f))
|
||||
|
||||
postWorldLoad :: RenderData -> CWorld -> IO CWorld
|
||||
postWorldLoad rdata cw = do
|
||||
nfloorvxs <- foldM (pokeTile (rdata ^. floorVBO . vboPtr))
|
||||
0
|
||||
(cw ^. cwTiles)
|
||||
nfloorvxs <-
|
||||
foldM
|
||||
(pokeTile (rdata ^. floorVBO . vboPtr))
|
||||
0
|
||||
(cw ^. cwTiles)
|
||||
bufferPokedVBO (rdata ^. floorVBO) nfloorvxs
|
||||
return $ cw & numberFloorVerxs .~ nfloorvxs
|
||||
|
||||
Reference in New Issue
Block a user