Hack fix bug when generating world with no chasms
Bug occured because we try to create an empty glNamedBufferStorage, instead just create a dummy storage with space for one element.
This commit is contained in:
+30
-30
@@ -57,36 +57,36 @@ tutAnoTree = do
|
|||||||
, lasCenRunClose
|
, lasCenRunClose
|
||||||
-- , passthroughLockKeyLists lockRoomKeyItems itemRooms
|
-- , passthroughLockKeyLists lockRoomKeyItems itemRooms
|
||||||
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
, tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||||
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
--l-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||||
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
--l-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||||
-- , passthroughLockKeyLists
|
--l-- , passthroughLockKeyLists
|
||||||
-- [(sensorRoomRunPast ElectricSensor, takeOne
|
--l-- [(sensorRoomRunPast ElectricSensor, takeOne
|
||||||
-- [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
|
--l-- [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
|
||||||
-- HELD SPARKGUN])]
|
--l-- HELD SPARKGUN])]
|
||||||
-- itemRooms
|
--l-- itemRooms
|
||||||
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
--l-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||||
-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
--l-- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
|
||||||
, tToBTree "sdr" . return . cleatOnward <$>
|
--l , tToBTree "sdr" . return . cleatOnward <$>
|
||||||
(shuffleLinks =<< distributerRoom BulletAmmo 100000)
|
--l (shuffleLinks =<< distributerRoom BulletAmmo 100000)
|
||||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
|
--l-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
|
||||||
---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
|
--l---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] []
|
||||||
-- , return $ tToBTree "door" $ return $ cleatOnward door
|
--l-- , return $ tToBTree "door" $ return $ cleatOnward door
|
||||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
-- , tToBTree "sdr" . return . cleatOnward <$>
|
--l-- , tToBTree "sdr" . return . cleatOnward <$>
|
||||||
-- (shuffleLinks =<< tanksPipesRoom)
|
--l-- (shuffleLinks =<< tanksPipesRoom)
|
||||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
, return $ tToBTree "door" $ return $ cleatOnward door
|
--l , return $ tToBTree "door" $ return $ cleatOnward door
|
||||||
, tutHub
|
--l , tutHub
|
||||||
, chasmSpitTerminal
|
--l , chasmSpitTerminal
|
||||||
, tutLight
|
--l , tutLight
|
||||||
, tutDrop
|
--l , tutDrop
|
||||||
, return $ tToBTree "cor" $ return $ cleatOnward corridor
|
--l , return $ tToBTree "cor" $ return $ cleatOnward corridor
|
||||||
---- , AnTree $ pickupTut
|
---- , AnTree $ pickupTut
|
||||||
---- , AnTree $ weaponTut
|
---- , AnTree $ weaponTut
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ postWorldLoad rdata cw = do
|
|||||||
glNamedBufferStorage newfloorbo (fromIntegral $ 8 * nfloorvxs * floatSize) floorptr 0
|
glNamedBufferStorage newfloorbo (fromIntegral $ 8 * nfloorvxs * floatSize) floorptr 0
|
||||||
nchasmvxs <- foldM (pokeChasm chptr) 0 (cw ^. uvWorld . cWorld . chasms)
|
nchasmvxs <- foldM (pokeChasm chptr) 0 (cw ^. uvWorld . cWorld . chasms)
|
||||||
glBindBufferBase GL_SHADER_STORAGE_BUFFER 7 newchbo
|
glBindBufferBase GL_SHADER_STORAGE_BUFFER 7 newchbo
|
||||||
glNamedBufferStorage newchbo (fromIntegral $ 2 * nchasmvxs * floatSize) chptr 0
|
glNamedBufferStorage newchbo (fromIntegral $ 2 * (max 1 nchasmvxs) * floatSize) chptr 0
|
||||||
|
-- note the max 1, prevents trying to create empty buffer storage
|
||||||
checkGLError "during postWorldLoad"
|
checkGLError "during postWorldLoad"
|
||||||
return $
|
return $
|
||||||
cw & uvWorld . cWorld . numberFloorVerxs .~ nfloorvxs
|
cw & uvWorld . cWorld . numberFloorVerxs .~ nfloorvxs
|
||||||
|
|||||||
Reference in New Issue
Block a user