Function for adding random lights to roomNGon
This commit is contained in:
@@ -100,6 +100,8 @@ data PlacementSpot
|
||||
| PSNoShiftCont {_psPos :: Point2, _psRot :: Float}
|
||||
| PSPos
|
||||
{ _psSelect :: RoomPos -> Room -> Maybe (PlacementSpot, RoomPos)
|
||||
-- looks for the first rp for which a rp rm returns Just (ps,rp'),
|
||||
-- replaces the rp with rp'
|
||||
, _psRoomEff :: RoomPos -> Room -> Room
|
||||
, _psFallback :: Maybe Placement
|
||||
}
|
||||
@@ -138,7 +140,7 @@ data Room = Room
|
||||
, _rmPos :: [RoomPos]
|
||||
, _rmPath :: S.Set (Point2, Point2)
|
||||
, _rmPmnts :: [Placement]
|
||||
, _rmInPmnt :: [(Int,GenWorld -> Placement)] -- so far as I can tell,
|
||||
, _rmInPmnt :: [(Int,GenWorld -> State StdGen Placement)] -- so far as I can tell,
|
||||
-- the first Int only determines the order in which these are applied
|
||||
, _rmBound :: [[Point2]]
|
||||
, _rmFloor :: Floor
|
||||
@@ -162,3 +164,12 @@ makeLenses ''RoomType
|
||||
makeLenses ''PSType
|
||||
makeLenses ''PlacementSpot
|
||||
makeLenses ''Placement
|
||||
|
||||
-- I may regret this. I believe it satisfies associativity, but haven't thought
|
||||
-- about it too much.
|
||||
instance Semigroup Placement where
|
||||
p <> q = p & plIDCont %~ f
|
||||
where
|
||||
f g gw pl = case g gw pl of
|
||||
Nothing -> Just q
|
||||
Just r -> Just $ r & plIDCont %~ f
|
||||
|
||||
@@ -38,6 +38,10 @@ data RoomType
|
||||
, _rmWidth :: Float
|
||||
, _rmHeight :: Float
|
||||
}
|
||||
| RoomNgon
|
||||
{ _rmngonSides :: Int
|
||||
, _rmngonSize :: Float
|
||||
}
|
||||
deriving (Eq, Ord)
|
||||
|
||||
data RoomLinkType
|
||||
@@ -81,6 +85,7 @@ data RoomPosFlag
|
||||
= RoomPosOnGrid {_onGridFromEdges :: S.Set PathFromEdge}
|
||||
| RoomPosOffGrid {_offGridFromEdges :: S.Set PathFromEdge}
|
||||
| RoomPosOnFloor
|
||||
| ColoredLightRP
|
||||
deriving (Eq, Ord, Show)
|
||||
|
||||
data UsedPos
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ initialRoomTree =
|
||||
foldMTRS $
|
||||
intersperse
|
||||
(zoom lyGen doorCor)
|
||||
[ intAnno startRoom
|
||||
[ startRoom
|
||||
, passthroughLockKeyLists
|
||||
[(sensorRoomRunPast ElectricSensor, takeOne
|
||||
[-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
|
||||
|
||||
+65
-66
@@ -1,25 +1,27 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
|
||||
module Dodge.Layout (
|
||||
generateLevelFromRoomList,
|
||||
tilesFromRooms,
|
||||
shuffleRoomPos,
|
||||
) where
|
||||
|
||||
import qualified Data.Vector.Unboxed as UV
|
||||
--import Dodge.Path.Translate
|
||||
-- import Dodge.Path.Translate
|
||||
import qualified Control.Foldl as L
|
||||
import Control.Lens
|
||||
import Data.Foldable
|
||||
import Data.Function
|
||||
--import Data.Graph.Inductive (labEdges, labNodes)
|
||||
import Data.List (nubBy,sortOn)
|
||||
import Linear
|
||||
-- import Data.Graph.Inductive (labEdges, labNodes)
|
||||
import Data.List (nubBy, sortOn)
|
||||
import Data.Maybe
|
||||
import Data.Tile
|
||||
--import Data.Traversable
|
||||
import qualified Data.Vector.Unboxed as UV
|
||||
-- import Data.Traversable
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default.Wall
|
||||
import Dodge.GameRoom
|
||||
--import Dodge.Item.Location.Initialize
|
||||
-- import Dodge.Item.Location.Initialize
|
||||
import Dodge.LevelGen.LevelStructure
|
||||
import Dodge.LevelGen.StaticWalls
|
||||
import Dodge.Path
|
||||
@@ -37,29 +39,27 @@ generateLevelFromRoomList gr' w =
|
||||
over gwWorld initWallZoning
|
||||
. over gwWorld randomCompass
|
||||
. over gwWorld setupWorldBounds
|
||||
-- . over (gwWorld . cWorld . lWorld) initItemLocations
|
||||
. doInPlacements
|
||||
-- . doOutPlacements
|
||||
. doIndividualPlacements
|
||||
. setTiles
|
||||
. worldToGenWorld rs'
|
||||
$ w & cWorld . lWorld . walls .~ wallsFromRooms rs
|
||||
$ w
|
||||
& cWorld . lWorld . walls .~ wallsFromRooms rs
|
||||
& cWorld . cwGen . cwgGameRooms .~ gameRoomsFromRooms (IM.elems rs')
|
||||
& cWorld . incNode .~ inodes
|
||||
& cWorld . incGraph .~ igraph
|
||||
& cWorld . incEdges .~ ipairs
|
||||
& incNodeZoning .~ UV.ifoldl' (\m i p -> zonePn (i,p) m) mempty inodes
|
||||
& incNodeZoning .~ UV.ifoldl' (\m i p -> zonePn (i, p) m) mempty inodes
|
||||
& incEdgeZoning .~ foldl' (flip (zoneIncPe inodes)) mempty ipairs
|
||||
where
|
||||
pairs = snapToGrid $ foldMap _rmPath rs
|
||||
(inodes,igraph,ipairs) = pairsToIncGraph pairs
|
||||
(inodes, igraph, ipairs) = pairsToIncGraph pairs
|
||||
rs = map doRoomShift $ IM.elems rs'
|
||||
rs' = mapM shuffleRoomPos gr' & evalState $ _randGen w
|
||||
|
||||
|
||||
randomCompass :: World -> World
|
||||
randomCompass w = w
|
||||
& wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
|
||||
randomCompass w =
|
||||
w & wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
|
||||
|
||||
-- note the order of traversal of the rooms is important
|
||||
-- hence the reverse
|
||||
@@ -70,60 +70,56 @@ setTiles gw = foldr setTile gw . reverse . IM.elems $ _genRooms gw
|
||||
setTile :: Room -> GenWorld -> GenWorld
|
||||
setTile r gw = case _rmFloor r of
|
||||
Tiled{} -> gw
|
||||
InheritFloor -> gw
|
||||
& genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly]
|
||||
InheritFloor ->
|
||||
gw & genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly]
|
||||
where
|
||||
t = case _rmMParent r of
|
||||
Nothing -> Tile poly (V2 0 0) (V2 1 0) 16
|
||||
Just pid -> head $ _tiles $ _rmFloor $ _genRooms gw IM.! pid
|
||||
poly = orderPolygon . convexHullSafe
|
||||
. nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r
|
||||
poly =
|
||||
orderPolygon
|
||||
. convexHullSafe
|
||||
. nubBy ((==) `on` roundPoint2)
|
||||
. concat
|
||||
$ _rmPolys r
|
||||
|
||||
shuffleRoomPos :: RandomGen g => Room -> State g Room
|
||||
shuffleRoomPos :: (RandomGen g) => Room -> State g Room
|
||||
shuffleRoomPos = rmPos shuffle
|
||||
--shuffleRoomPos rm = do
|
||||
-- newPos <- shuffle $ _rmPos rm
|
||||
-- return $ rm & rmPos .~ newPos
|
||||
|
||||
doInPlacements :: GenWorld -> GenWorld
|
||||
doInPlacements w = foldl' (\gw (i,(_,f)) -> placeSpot i gw (f gw)) w
|
||||
. sortOn (fst.snd)
|
||||
$ foldMap g $ w ^. genRooms
|
||||
doInPlacements w =
|
||||
foldl' (\gw (i, (_, f)) -> rplaceSpot i gw (f gw)) w
|
||||
. sortOn (fst . snd)
|
||||
. foldMap g
|
||||
$ w ^. genRooms
|
||||
where
|
||||
g rm = (rm^?! rmMID . _Just,) <$> (rm ^. rmInPmnt)
|
||||
-- let (gw, rms) = mapAccumR doRoomInPlacements w (_genRooms w)
|
||||
-- in gw & genRooms .~ rms
|
||||
|
||||
--doRoomInPlacements :: GenWorld -> Room -> (GenWorld, Room)
|
||||
--doRoomInPlacements w rm = foldr f (w, rm) $ _rmInPmnt rm
|
||||
-- where
|
||||
-- f plf (w', r') = placeSpot (w', r') (plf w')
|
||||
g rm = (rm ^?! rmMID . _Just,) <$> (rm ^. rmInPmnt)
|
||||
rplaceSpot i gw rx = placeSpot i (gw & gwWorld . randGen .~ gen) x
|
||||
where
|
||||
(x,gen) = runState rx (gw ^. gwWorld . randGen)
|
||||
|
||||
doIndividualPlacements :: GenWorld -> GenWorld
|
||||
doIndividualPlacements gw = foldl' doRoomPlacements gw (_genRooms gw)
|
||||
|
||||
doRoomPlacements :: GenWorld -> Room -> GenWorld
|
||||
doRoomPlacements w rm = foldl' (placeSpot i) (w & genRooms . ix i . rmPmnts .~ mempty)
|
||||
. sortOn plPriority $ _rmPmnts rm
|
||||
doRoomPlacements w rm =
|
||||
foldl' (placeSpot i) (w & genRooms . ix i . rmPmnts .~ mempty)
|
||||
. sortOn plPriority
|
||||
$ _rmPmnts rm
|
||||
where
|
||||
i = rm ^?! rmMID . _Just
|
||||
|
||||
plPriority :: Placement -> Int
|
||||
plPriority pl = case pl ^. plType of
|
||||
PutChasm {} -> 0
|
||||
PutBlock {} -> 1
|
||||
PutDoor {} -> 2
|
||||
PutChasm{} -> 0
|
||||
PutBlock{} -> 1
|
||||
PutDoor{} -> 2
|
||||
_ -> 3
|
||||
|
||||
--placeSpot' :: Int -> GenWorld -> Placement -> GenWorld
|
||||
--placeSpot' = placeSpot
|
||||
--placeSpot' i gw x =
|
||||
-- let (gw',r') = placeSpot (gw,(gw ^?! genRooms . ix i)) x
|
||||
-- in gw' & genRooms . ix i .~ r'
|
||||
|
||||
setupWorldBounds :: World -> World
|
||||
setupWorldBounds w =
|
||||
w & cWorld . cwGen . cwgWorldBounds
|
||||
w
|
||||
& cWorld . cwGen . cwgWorldBounds
|
||||
%~ ( (bdMinX .~ f minx)
|
||||
. (bdMaxX .~ f maxx)
|
||||
. (bdMinY .~ f miny)
|
||||
@@ -162,12 +158,15 @@ gameRoomFromRoom rm =
|
||||
GameRoom
|
||||
{ _grViewpoints =
|
||||
map doshift $
|
||||
_rmViewpoints rm ++ (map fst . foldl' (flip cutWalls) [] $ _rmPolys rm)
|
||||
_rmViewpoints rm
|
||||
++ (map fst . foldl' (flip cutWalls) [] $ _rmPolys rm)
|
||||
++ mapMaybe filterUnusedLinks (_rmPos rm)
|
||||
, _grViewpointsEx = concatMap filterUsedLinks (_rmPos rm)
|
||||
, _grBound =
|
||||
map doshift $
|
||||
expandPolyCorners 50 . convexHullSafe . nubBy closePoints
|
||||
map doshift
|
||||
$ expandPolyCorners 50
|
||||
. convexHullSafe
|
||||
. nubBy closePoints
|
||||
. concat
|
||||
$ _rmBound rm ++ _rmPolys rm
|
||||
, _grRmBounds = map (map doshift) $ _rmBound rm
|
||||
@@ -180,8 +179,8 @@ gameRoomFromRoom rm =
|
||||
doubleShift p a =
|
||||
map
|
||||
doshift
|
||||
[ p +.+ 10 *.* unitVectorAtAngle a
|
||||
, p -.- 10 *.* unitVectorAtAngle a
|
||||
[ p + 10 *^ unitVectorAtAngle a
|
||||
, p - 10 *^ unitVectorAtAngle a
|
||||
]
|
||||
filterUnusedLinks rp = case _rpType rp of
|
||||
UnusedLink{} -> Just $ _rpPos rp
|
||||
@@ -210,36 +209,36 @@ getTiles fl = case fl of
|
||||
Tiled xs -> xs
|
||||
_ -> error "tiles not correctly set for some room"
|
||||
|
||||
--divideWall :: Wall -> [Wall]
|
||||
--divideWall wl
|
||||
-- divideWall :: Wall -> [Wall]
|
||||
-- divideWall wl
|
||||
-- = let (a,b) = _wlLine wl
|
||||
-- ps = divideLine (zoneSize * 2) a b
|
||||
-- in zipWith (\ x y -> wl & wlLine .~ (x,y) ) (init ps) (tail ps)
|
||||
|
||||
--divideWallIn :: Wall -> IM.IntMap Wall -> IM.IntMap Wall
|
||||
--divideWallIn wl wls =
|
||||
-- divideWallIn :: Wall -> IM.IntMap Wall -> IM.IntMap Wall
|
||||
-- divideWallIn wl wls =
|
||||
-- let (wl':newWls) = divideWall wl
|
||||
-- k = IM.newKey wls
|
||||
-- newWls' = zipWith (\i w -> w {_wlID = i}) [k..] newWls
|
||||
-- in foldl' (flip $ \w -> IM.insert (_wlID w) w) wls (wl':newWls')
|
||||
--
|
||||
--divideWalls :: IM.IntMap Wall -> IM.IntMap Wall
|
||||
--divideWalls wls = foldl' (flip divideWallIn) wls wls
|
||||
-- divideWalls :: IM.IntMap Wall -> IM.IntMap Wall
|
||||
-- divideWalls wls = foldl' (flip divideWallIn) wls wls
|
||||
|
||||
--insertInZone :: Int -> Int -> a -> IM.IntMap (IM.IntMap a) -> IM.IntMap (IM.IntMap a)
|
||||
--insertInZone x y obj = IM.insertWith f x $ IM.singleton y obj
|
||||
-- insertInZone :: Int -> Int -> a -> IM.IntMap (IM.IntMap a) -> IM.IntMap (IM.IntMap a)
|
||||
-- insertInZone x y obj = IM.insertWith f x $ IM.singleton y obj
|
||||
-- where f _ = IM.insert y obj
|
||||
|
||||
--shiftRoomTree :: Tree Room -> Tree Room
|
||||
--shiftRoomTree (Node t []) = Node t []
|
||||
--shiftRoomTree (Node t ts) = Node t
|
||||
-- shiftRoomTree :: Tree Room -> Tree Room
|
||||
-- shiftRoomTree (Node t []) = Node t []
|
||||
-- shiftRoomTree (Node t ts) = Node t
|
||||
-- $ zipWith (\l -> shiftRoomTree . applyToRoot (shiftRoomToLink l))
|
||||
-- (_rmLinks t)
|
||||
-- ts
|
||||
|
||||
--shiftRoomTreeConstruction :: Tree Room -> [Tree Room]
|
||||
--shiftRoomTreeConstruction (Node t []) = [Node t []]
|
||||
--shiftRoomTreeConstruction (Node t ts) = (Node t [] :) $ concat $
|
||||
-- shiftRoomTreeConstruction :: Tree Room -> [Tree Room]
|
||||
-- shiftRoomTreeConstruction (Node t []) = [Node t []]
|
||||
-- shiftRoomTreeConstruction (Node t ts) = (Node t [] :) $ concat $
|
||||
-- zipWith (\l -> shiftRoomTreeConstruction . applyToRoot (shiftRoomBy l . f))
|
||||
-- (_rmLinks t)
|
||||
-- ts
|
||||
@@ -248,8 +247,8 @@ getTiles fl = case fl of
|
||||
-- where
|
||||
-- (p,a) = last $ _rmLinks r
|
||||
|
||||
--addTile :: Float -> Room -> Room
|
||||
--addTile z r
|
||||
-- addTile :: Float -> Room -> Room
|
||||
-- addTile z r
|
||||
-- | not (null (_rmFloor r)) || null rp = r
|
||||
-- | otherwise = r & rmFloor .~ [makeTileFromPoly poly z]
|
||||
-- where
|
||||
|
||||
@@ -25,9 +25,8 @@ lockRoomMultiItems =
|
||||
|
||||
lockRoomKeyItems :: [(Int -> State LayoutVars (MetaTree Room String), State LayoutVars ItemType)]
|
||||
lockRoomKeyItems =
|
||||
[ (lasCenSensEdge, takeOne [LASER,HELD TESLACOIL, HELD FLATSHIELD])
|
||||
-- [ (lasCenSensEdge, takeOne [HELD RLAUNCHER, LASER, HELD SPARKGUN, HELD FLATSHIELD])
|
||||
-- , (sensorRoomRunPast LaserSensor, return LASER)
|
||||
-- [ (lasCenSensEdge, takeOne [LASER,HELD TESLACOIL, HELD FLATSHIELD])
|
||||
[ (sensorRoomRunPast LaserSensor, return LASER)
|
||||
-- , (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3))
|
||||
-- , (const longRoomRunPast, takeOne [HELD SNIPERRIFLE, HELD FLATSHIELD])
|
||||
-- , (const glassLessonRunPast, takeOne [LASER])
|
||||
|
||||
@@ -181,7 +181,8 @@ spanColLightBlackI col h a b =
|
||||
V2 x y = 0.5 *.* (a +.+ b)
|
||||
|
||||
spanLightI :: Point2 -> Point2 -> Placement
|
||||
spanLightI = spanColLightI 0.75 50.1
|
||||
--spanLightI = spanColLightI 0.75 50.1
|
||||
spanLightI = spanColLightI 0.75 95
|
||||
|
||||
spanLightY :: Point2 -> Point2 -> Point2 -> Point2 -> Placement
|
||||
spanLightY l x y z =
|
||||
@@ -191,7 +192,7 @@ spanLightY l x y z =
|
||||
sps0 $ f z
|
||||
where
|
||||
f p = putShape $ thinHighBar h p (l + normalize (l-p))
|
||||
h = 50
|
||||
h = 95
|
||||
|
||||
--extendAway :: Point2 -> Point2 -> Point2
|
||||
--extendAway p x = p +.+ squashNormalizeV (p -.- x)
|
||||
|
||||
@@ -33,7 +33,7 @@ import NewInt
|
||||
placeSpot :: Int -> GenWorld -> Placement -> GenWorld
|
||||
placeSpot rid w plmnt = case plmnt ^. plSpot of
|
||||
PSRoomRand i f -> placeSpotRoomRand rid i f plmnt w
|
||||
PSPos extract eff fallback -> placeSpotUsingLink w rid plmnt extract eff fallback
|
||||
PSPos extract eff fallback -> placeSpotUsingRoomPos w rid plmnt extract eff fallback
|
||||
_ -> placePlainPSSpot w rid plmnt shift
|
||||
where
|
||||
shift = _rmShift $ w ^?! genRooms . ix rid
|
||||
@@ -62,7 +62,7 @@ placePlainPSSpot w rid plmnt shift = case plmnt ^. plType of
|
||||
(w' & genRooms . ix rid . rmPmnts .:~ newplmnt)
|
||||
|
||||
-- this should be tidied up
|
||||
placeSpotUsingLink ::
|
||||
placeSpotUsingRoomPos ::
|
||||
GenWorld ->
|
||||
Int ->
|
||||
Placement ->
|
||||
@@ -70,7 +70,7 @@ placeSpotUsingLink ::
|
||||
(RoomPos -> Room -> Room) ->
|
||||
Maybe Placement ->
|
||||
GenWorld
|
||||
placeSpotUsingLink w rid plmnt extract eff fallback =
|
||||
placeSpotUsingRoomPos w rid plmnt extract eff fallback =
|
||||
case searchedPoss (w ^?! genRooms . ix rid . rmPos) of
|
||||
Just (ps, rmposs) ->
|
||||
placeSpot
|
||||
|
||||
@@ -52,7 +52,7 @@ decontamRoom i =
|
||||
]
|
||||
-- & rmOutPmnt . at i ?~
|
||||
-- analyser (NoItemZone ps) (PS 50 0) (PS mcpos 0)
|
||||
& rmInPmnt .~ [(0, f)]
|
||||
& rmInPmnt .~ [(0, return . f)]
|
||||
& rmBound .~ [rectNSWE 75 15 0 40, switchcut]
|
||||
where
|
||||
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
--{-# LANGUAGE TupleSections #-}
|
||||
-- {-# LANGUAGE TupleSections #-}
|
||||
module Dodge.Room.Containing where
|
||||
|
||||
import Control.Monad
|
||||
import Dodge.Cleat
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Item.Display
|
||||
@@ -15,28 +16,27 @@ import Dodge.Tree
|
||||
import Geometry
|
||||
import LensHelp
|
||||
import RandomHelp
|
||||
import Control.Monad
|
||||
|
||||
roomsContaining :: RandomGen g => [Creature] -> [Item] -> State g (MetaTree Room String)
|
||||
roomsContaining :: (RandomGen g) => [Creature] -> [Item] -> State g (MetaTree Room String)
|
||||
roomsContaining crs its = tToBTree str <$> roomsContaining' crs its
|
||||
where
|
||||
str = "roomsContaining " ++ concatMap _crName crs ++ concatMap (head . basicItemDisplay) its
|
||||
|
||||
roomsContaining' :: RandomGen g => [Creature] -> [Item] -> State g (Tree Room)
|
||||
roomsContaining' :: (RandomGen g) => [Creature] -> [Item] -> State g (Tree Room)
|
||||
roomsContaining' crs its = do
|
||||
endroom <-
|
||||
join $
|
||||
takeOne
|
||||
[-- roomPillarsSquare <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
--, randomFourCornerRoomCrsIts crs its
|
||||
--, tanksRoom crs its
|
||||
-- tanksPipesRoom <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
roomPillarsContaining crs its
|
||||
-- , roomPillarsPassage <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
[ roomPillarsSquare <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
, randomFourCornerRoomCrsIts crs its
|
||||
, tanksRoom crs its
|
||||
, tanksPipesRoom <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
, roomPillarsContaining crs its
|
||||
, roomPillarsPassage <&> rmPmnts ++.~ crsItmsUnused crs its
|
||||
]
|
||||
return (pure $ cleatOnward endroom)
|
||||
|
||||
roomPillarsContaining :: RandomGen g => [Creature] -> [Item] -> State g Room
|
||||
roomPillarsContaining :: (RandomGen g) => [Creature] -> [Item] -> State g Room
|
||||
roomPillarsContaining crs itms = do
|
||||
(w, wn) <- takeOne [(240, 2), (340, 3)]
|
||||
(h, hn) <- takeOne [(240, 2), (340, 3)]
|
||||
@@ -47,7 +47,7 @@ crsItmsUnused crs itms =
|
||||
map (\it -> sps0 (PutFlIt it) & plSpot .~ anyUnusedSpot) itms
|
||||
++ map (\cr -> sps0 (PutCrit cr) & plSpot .~ unusedSpotAwayFromLink 50) crs
|
||||
|
||||
pedestalRoom :: RandomGen g => Item -> State g Room
|
||||
pedestalRoom :: (RandomGen g) => Item -> State g Room
|
||||
pedestalRoom it = do
|
||||
let flit = PutFlIt it
|
||||
x <- state $ randomR (150, 250)
|
||||
|
||||
@@ -40,7 +40,7 @@ triggerDoorRoom i =
|
||||
-- note no bounds
|
||||
}
|
||||
where
|
||||
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||
f gw = return $ fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||
pmnt <- gw ^? genPmnt . ix i
|
||||
return $ putDoubleDoor defaultDoorWall (cond pmnt) (V2 0 20) (V2 40 20) 2
|
||||
cond pmnt = WdTrig $ fromJust (_plMID pmnt)
|
||||
|
||||
@@ -17,6 +17,7 @@ module Dodge.Room.LasTurret (
|
||||
storeRoomID,
|
||||
) where
|
||||
|
||||
import Dodge.Room.Modify
|
||||
import Color
|
||||
import Control.Monad
|
||||
import Data.Foldable
|
||||
@@ -148,9 +149,9 @@ lasSensorTurretTest = do
|
||||
let cenroom =
|
||||
cenroom''
|
||||
& rmInPmnt
|
||||
<>~ [ (0, alight pi . f i)
|
||||
, (0, alight (0.5 * pi) . f i)
|
||||
, (0, alight (1.5 * pi) . f i)
|
||||
<>~ [ (0, return . alight pi . f i)
|
||||
, (0, return . alight (0.5 * pi) . f i)
|
||||
, (0, return . alight (1.5 * pi) . f i)
|
||||
]
|
||||
rToOnward "lasSensorTurretTest" $
|
||||
treePost
|
||||
@@ -166,7 +167,7 @@ lasCenSensEdge n = do
|
||||
(i, cenroom') <- storeRoomID =<< shuffleLinks =<< lightSensByDoor n =<< cenLasTur
|
||||
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
||||
let alight a rp = mntLSCond (fmap (fmap $ colorSH black) lshape) (PS (rotateV a $ _rpPos rp) (a + _rpDir rp))
|
||||
blight a = (0, alight a . f i)
|
||||
blight a = (0, return . alight a . f i)
|
||||
let cenroom = cenroom' & rmInPmnt <>~ map blight [pi, (0.5 * pi), (1.5 * pi)]
|
||||
let doorroom = triggerDoorRoom n
|
||||
rToOnward "lasCenSensEdge" $
|
||||
@@ -181,16 +182,6 @@ lasCenSensEdge n = do
|
||||
isused UsedOutLink{_rplsChildNum = 0} = True
|
||||
isused _ = False
|
||||
|
||||
storeRoomID :: Room -> State LayoutVars (Int, Room)
|
||||
storeRoomID x = do
|
||||
i <- nextLayoutInt
|
||||
return (i, x & rmPmnts .:~ sps0 (PutWorldUpdate (f i)))
|
||||
where
|
||||
f i rid _ gw = gw & genInts . at i ?~ (gw ^?! genRooms . ix rid . rmMID . _Just)
|
||||
|
||||
-- unsafe! assumes that storeRoomID has been called
|
||||
getRoomFromID :: Int -> GenWorld -> Room
|
||||
getRoomFromID i gw = gw ^?! genRooms . ix (gw ^?! genInts . ix i)
|
||||
|
||||
lasRunYinYang :: (RandomGen g) => State g (MetaTree Room String)
|
||||
lasRunYinYang = do
|
||||
|
||||
@@ -1,4 +1,76 @@
|
||||
module Dodge.Room.Modify
|
||||
( module Dodge.Room.Modify.Girder
|
||||
) where
|
||||
module Dodge.Room.Modify (
|
||||
module Dodge.Room.Modify.Girder,
|
||||
storeRoomID,
|
||||
getRoomFromID,
|
||||
addLightsNGon,
|
||||
removeLights,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Shape
|
||||
import Dodge.Placement.Instance.LightSource
|
||||
import Dodge.LevelGen.PlacementHelper
|
||||
import LensHelp
|
||||
import Dodge.Data.MetaTree
|
||||
import RandomHelp
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Room.Modify.Girder
|
||||
import qualified Data.Set as S
|
||||
import Data.Maybe
|
||||
import Geometry
|
||||
import Data.Foldable
|
||||
|
||||
storeRoomID :: Room -> State LayoutVars (Int, Room)
|
||||
storeRoomID x = do
|
||||
i <- nextLayoutInt
|
||||
return (i, x & rmPmnts .:~ sps0 (PutWorldUpdate (f i)))
|
||||
where
|
||||
f i rid _ gw = gw & genInts . at i ?~ (gw ^?! genRooms . ix rid . rmMID . _Just)
|
||||
|
||||
-- unsafe! assumes that storeRoomID has been called
|
||||
getRoomFromID :: Int -> GenWorld -> Room
|
||||
getRoomFromID i gw = gw ^?! genRooms . ix (gw ^?! genInts . ix i)
|
||||
|
||||
removeLights :: Room -> Room
|
||||
removeLights = rmPmnts %~ mapMaybe f
|
||||
where
|
||||
f x = case x ^. plType of
|
||||
PutLabel "light" -> Nothing
|
||||
_ -> Just x
|
||||
|
||||
addLightsNGon :: Room -> State LayoutVars Room
|
||||
addLightsNGon rm = do
|
||||
(i, rm') <- storeRoomID $ removeLights rm
|
||||
return $
|
||||
rm'
|
||||
& rmInPmnt
|
||||
.:~ (0, f i)
|
||||
where
|
||||
a = 2 * pi - (2 * pi / fromIntegral (rm ^?! rmType . rmngonSides))
|
||||
y = rm ^?! rmType . rmngonSize
|
||||
x = y * tan (0.5 * a)
|
||||
f i gw = do
|
||||
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
||||
let ps = fromMaybe (PS (V2 y 0) 0) $ rpToPS <$> find iscolorlight (grm ^. rmPos)
|
||||
alight a' = mntLSCond (fmap (fmap $ colorSH black) lshape) (rotateps a' ps)
|
||||
takeOne
|
||||
[ spanLightY (V2 0 0) (V2 y x) (V2 (x) y) (V2 (x) (-y))
|
||||
, spanLightY (V2 20 20) (V2 y 20) (V2 (-y) 20) (V2 20 (-y))
|
||||
, spanLightI (V2 22 y) (V2 22 (-y))
|
||||
, spanLightI (V2 x y) (V2 (-x) (-y))
|
||||
, alight (0.5 * pi) <> alight (1.5 * pi)
|
||||
]
|
||||
where
|
||||
grm = getRoomFromID i gw
|
||||
rotateps a' (PS v d) = PS (rotateV a' v) (a' + d)
|
||||
rotateps _ _ = error "in addLightsNGon"
|
||||
rpToPS rp = (PS (_rpPos rp) (_rpDir rp))
|
||||
iscolorlight rp =
|
||||
(ColoredLightRP `S.member` (rp ^. rpFlags))
|
||||
&& islinkroompos rp
|
||||
islinkroompos rp = case rp ^. rpType of
|
||||
UsedOutLink{} -> True
|
||||
UsedInLink{} -> True
|
||||
UnusedLink{} -> True
|
||||
NotLink{} -> False
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ roomNgon n x = do
|
||||
, _rmPmnts = [thelight]
|
||||
, _rmBound = [poly]
|
||||
, _rmFloor = Tiled [makeTileFromPoly poly 2]
|
||||
, _rmType = RoomNgon n x
|
||||
--, _rmFloor = InheritFloor
|
||||
, _rmName = show n ++ "gon"
|
||||
, _rmPos = poss
|
||||
|
||||
@@ -154,7 +154,7 @@ roomCenterPillar = do
|
||||
roomRect 240 240 2 2
|
||||
)
|
||||
|
||||
weaponEmptyRoom :: State StdGen (Tree Room)
|
||||
weaponEmptyRoom :: RandomGen g => State g (Tree Room)
|
||||
weaponEmptyRoom = do
|
||||
w <- state $ randomR (220, 300)
|
||||
h <- state $ randomR (220, 300)
|
||||
@@ -209,7 +209,7 @@ weaponBehindPillar = do
|
||||
, cleatOnward $ set rmPmnts [sPS (V2 20 60) (negate $ pi / 2) randC1] corridorN
|
||||
]
|
||||
|
||||
weaponBetweenPillars :: State StdGen (MetaTree Room String)
|
||||
weaponBetweenPillars :: State LayoutVars (MetaTree Room String)
|
||||
weaponBetweenPillars = do
|
||||
(w, wn) <- takeOne [(240, 2), (340, 3)]
|
||||
(h, hn) <- takeOne [(240, 2), (340, 3)]
|
||||
@@ -271,7 +271,7 @@ deadEndRoom =
|
||||
lnks = [(V2 0 30, 0)]
|
||||
|
||||
{- A random Either tree with a weapon and melee monster challenge. -}
|
||||
weaponRoom :: State StdGen (MetaTree Room String)
|
||||
weaponRoom :: State LayoutVars (MetaTree Room String)
|
||||
weaponRoom =
|
||||
join $
|
||||
takeOne
|
||||
@@ -458,7 +458,7 @@ distributerRoom atype aamount = do
|
||||
)
|
||||
)
|
||||
return $ r & rmPmnts .:~ store
|
||||
& rmInPmnt <>~ [(0,dst),(1,thepipe)]
|
||||
& rmInPmnt <>~ [(0,return . dst),(1,return . thepipe)]
|
||||
& rmLinks %~ setInLinksByType (OnEdge South)
|
||||
& rmLinks %~ setOutLinks (not . S.member (OnEdge South) . _rlType)
|
||||
|
||||
|
||||
@@ -1,33 +1,37 @@
|
||||
{-# LANGUAGE TupleSections #-}
|
||||
module Dodge.Room.SensorDoor (sensAboveDoor,sensorRoomRunPast) where
|
||||
|
||||
import Dodge.Data.MTRS
|
||||
module Dodge.Room.SensorDoor (sensAboveDoor, sensorRoomRunPast) where
|
||||
|
||||
import Dodge.Room.Procedural
|
||||
import Control.Monad
|
||||
import qualified Data.Set as S
|
||||
import Dodge.Cleat
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Data.MTRS
|
||||
import Dodge.LevelGen.PlacementHelper
|
||||
import Dodge.Placement.Instance
|
||||
import Dodge.PlacementSpot
|
||||
import Dodge.Room.Corridor
|
||||
import Dodge.Room.Door
|
||||
import Dodge.Room.Link
|
||||
import Dodge.Room.Modify
|
||||
import Dodge.Room.Ngon
|
||||
import Dodge.Room.Procedural
|
||||
import Dodge.Terminal
|
||||
import Dodge.Tree
|
||||
import Dodge.Wire
|
||||
import Geometry
|
||||
import LensHelp
|
||||
import RandomHelp
|
||||
import Control.Monad
|
||||
|
||||
-- TODO fix case where the sensor created by sensInsideDoor blocks another door
|
||||
-- for roomRectAutoLinks-- make the locked door a center door?
|
||||
sensorRoom :: RandomGen g => SensorType -> Int -> State g (Tree Room)
|
||||
sensorRoom :: SensorType -> Int -> State LayoutVars (Tree Room)
|
||||
sensorRoom senseType n = do
|
||||
rm <- join $ takeOne [roomNgon 8 200, roomRectAutoLights 200 200]
|
||||
rm <- join $ takeOne [addLightsNGon =<< roomNgon 8 200, roomRectAutoLights 200 200]
|
||||
--rm <- join $ takeOne [addLightsNGon =<< roomNgon 8 200]
|
||||
cenroom <- shuffleLinks $ sensInsideDoor senseType n rm
|
||||
return $ treePost
|
||||
return $
|
||||
treePost
|
||||
[ door
|
||||
, cenroom & rmLinkEff .~ f
|
||||
, triggerDoorRoom n
|
||||
@@ -43,29 +47,40 @@ sensorRoom senseType n = do
|
||||
p' = p +.+ rotateV d (V2 0 (negate 100))
|
||||
isclose = dist (_rlPos rl) p' < 30
|
||||
|
||||
sensorRoomRunPast :: RandomGen g => SensorType -> Int -> State g MTRS
|
||||
|
||||
|
||||
sensorRoomRunPast :: SensorType -> Int -> State LayoutVars MTRS
|
||||
sensorRoomRunPast dt n = do
|
||||
t <- sensorRoom dt n
|
||||
rToOnward "sensorRoomRunPast" $ t
|
||||
& applyToSubforest [0]
|
||||
( ++ [ treePost [ door & rmConnectsTo .~ (\s -> S.member InLink s && not (S.member BlockedLink s)) , cleatLabel n corridor ] ])
|
||||
rToOnward "sensorRoomRunPast" $
|
||||
t
|
||||
& applyToSubforest
|
||||
[0]
|
||||
(++ [treePost [door & rmConnectsTo .~ (\s -> S.member InLink s && not (S.member BlockedLink s)), cleatLabel n corridor]])
|
||||
|
||||
sensAboveDoor :: SensorType -> Float -> PlacementSpot -> Placement
|
||||
sensAboveDoor sensetype wth ps =
|
||||
extTrigLitPos
|
||||
( psposAddLabel
|
||||
ColoredLightRP
|
||||
(atFstLnkOutShiftBy (\(p, a) -> ((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosHigh)))
|
||||
)
|
||||
(\tp -> Just $ damageSensor sensetype wth (_plMID tp) ps)
|
||||
|
||||
sensInsideDoor :: SensorType -> Int -> Room -> Room
|
||||
sensInsideDoor senseType i rm = rm
|
||||
& rmName .++~ take 4 (show senseType)
|
||||
sensInsideDoor senseType i rm =
|
||||
rm
|
||||
& rmName
|
||||
.++~ take 4 (show senseType)
|
||||
& rmPmnts
|
||||
.++~ [ psPt atFstLnkOut . PutForeground $ floorWire (V2 20 0) (V2 20 (-100))
|
||||
, psPt atFstLnkOut . PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100))
|
||||
, psPt atFstLnkOut . PutForeground $ verticalWire (V2 20 0) 0 80
|
||||
, putMessageTerminal
|
||||
(textTerminal & tmCommands .:~ TCDamageCommand)
|
||||
& plSpot .~ rprBoolShift isUnusedLnk (shiftInBy 10 <&> (, S.singleton UsedPosHigh))
|
||||
& plSpot
|
||||
.~ rprBoolShift isUnusedLnk (shiftInBy 10 <&> (,S.singleton UsedPosHigh))
|
||||
, sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
|
||||
]
|
||||
|
||||
-- & rmOutPmnt . at i ?~ sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100)
|
||||
|
||||
@@ -50,8 +50,9 @@ powerFakeout = do
|
||||
]
|
||||
|
||||
-- the i is used either for a PickOnePlacement or a room id, this is not great
|
||||
startRoom :: Int -> State StdGen (MetaTree Room String)
|
||||
startRoom i =
|
||||
startRoom :: State LayoutVars (MetaTree Room String)
|
||||
startRoom = do
|
||||
i <- nextLayoutInt
|
||||
join $
|
||||
takeOne
|
||||
[ attachOnward "startThenWeaponRoom" <$> preCritStart <*> weaponRoom
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
module Dodge.Room.Tutorial where
|
||||
|
||||
import Dodge.Room.Modify
|
||||
import Control.Monad
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.IntSet as IS
|
||||
@@ -119,7 +120,7 @@ tutDrop = do
|
||||
return $
|
||||
tToBTree "TutDrop" $
|
||||
treePost
|
||||
[x & rmInPmnt .:~ (0, t j), y, cleatOnward rm]
|
||||
[x & rmInPmnt .:~ (0, return . t j), y, cleatOnward rm]
|
||||
where
|
||||
t j gw =
|
||||
let x = gw ^? genInts . ix j
|
||||
@@ -391,13 +392,6 @@ tutLight = do
|
||||
)
|
||||
_ -> Nothing
|
||||
|
||||
removeLights :: Room -> Room
|
||||
removeLights = rmPmnts %~ mapMaybe f
|
||||
where
|
||||
f x = case x ^. plType of
|
||||
PutLabel "light" -> Nothing
|
||||
_ -> Just x
|
||||
|
||||
tutHub :: State LayoutVars (MetaTree Room String)
|
||||
tutHub = do
|
||||
(is, wbp) <- setTreeInts =<< critsRoom 1
|
||||
@@ -413,7 +407,7 @@ tutHub = do
|
||||
x <-
|
||||
shuffleLinks
|
||||
. analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i
|
||||
. (rmInPmnt .:~ (0, a))
|
||||
. (rmInPmnt .:~ (0, return . a))
|
||||
. addDoorAtNthLinkToggleTerminal 1 ss j
|
||||
-- . addDoorAtNthLinkToggleInterrupt 2 ds j
|
||||
. addDoorAtNthLinkToggleInterrupt 2 ds j1
|
||||
|
||||
@@ -30,11 +30,12 @@ import qualified Data.Map.Strict as M
|
||||
import NewInt
|
||||
import Data.Foldable
|
||||
import Data.Monoid
|
||||
import RandomHelp
|
||||
|
||||
testStringInit :: Universe -> [String]
|
||||
testStringInit u =
|
||||
(fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcType . _McDamSensor . sensAmount)
|
||||
<> (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcMaterial)
|
||||
testStringInit u = [evalState (takeOne ["a","b"]) (_randGen $ _uvWorld u)]
|
||||
-- (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcType . _McDamSensor . sensAmount)
|
||||
-- <> (fmap show $ u ^.. uvWorld . cWorld . lWorld . machines . each . mcMaterial)
|
||||
--testStringInit u = map show (u ^.. uvWorld . cWorld . lWorld . machines . traverse . mcDir)
|
||||
--testStringInit u = map show
|
||||
-- (u ^.. uvWorld . cWorld . lWorld . machines . traverse .mcType . _McDistributer)
|
||||
|
||||
+55
-37
@@ -2,13 +2,13 @@
|
||||
{- Helpers for random generation. -}
|
||||
module RandomHelp (
|
||||
module System.Random,
|
||||
-- module Control.Monad.State,
|
||||
-- module Control.Monad.State,
|
||||
module RandomHelp,
|
||||
module Control.Monad.Trans.State.Lazy,
|
||||
) where
|
||||
|
||||
import Control.Monad
|
||||
--import Control.Monad.State
|
||||
-- import Control.Monad.State
|
||||
import Control.Monad.Trans.State.Lazy
|
||||
import Data.List
|
||||
import Geometry
|
||||
@@ -21,8 +21,25 @@ randomRanges = join . takeOne . f
|
||||
f (x : y : ys) = state (randomR (x, y)) : f ys
|
||||
f _ = []
|
||||
|
||||
takeOne :: RandomGen g => [a] -> State g a
|
||||
takeOne xs = state (randomR (0, length xs - 1)) >>= (\i -> return (xs !! i))
|
||||
takeOne :: (RandomGen g) => [a] -> State g a
|
||||
takeOne xs = state (randomR (0, length xs - 1)) >>= \i -> return (xs !! i)
|
||||
|
||||
takeOneRem :: (RandomGen g) => [a] -> State g (Maybe (a, [a]))
|
||||
takeOneRem [] = return Nothing
|
||||
takeOneRem xs =
|
||||
state (randomR (0, length xs - 1)) >>= \i -> do
|
||||
let (ys, (z : zs)) = splitAt i xs
|
||||
return $ Just (z, ys <> zs)
|
||||
|
||||
takeOneFiltered :: (RandomGen g) => (a -> Bool) -> [a] -> State g (Maybe a)
|
||||
takeOneFiltered t xs = do
|
||||
m <- takeOneRem xs
|
||||
f m
|
||||
where
|
||||
f Nothing = return Nothing
|
||||
f (Just (y, ys))
|
||||
| t y = return $ Just y
|
||||
| otherwise = takeOneFiltered t ys
|
||||
|
||||
takeOneWeighted :: (RandomGen g, Random b, Ord b, Num b) => [b] -> [a] -> State g a
|
||||
takeOneWeighted ws xs = state (randomR (0, sum ws)) >>= (\w -> return (xs !! i w ws))
|
||||
@@ -32,25 +49,25 @@ takeOneWeighted ws xs = state (randomR (0, sum ws)) >>= (\w -> return (xs !! i w
|
||||
| otherwise = 1 + i (y - z) zs
|
||||
i _ _ = 0
|
||||
|
||||
--{-# OPTIONS -Wno-incomplete-uni-patterns #-}
|
||||
takeOneMore :: RandomGen g => ([a], [a]) -> State g ([a], [a])
|
||||
-- {-# OPTIONS -Wno-incomplete-uni-patterns #-}
|
||||
takeOneMore :: (RandomGen g) => ([a], [a]) -> State g ([a], [a])
|
||||
takeOneMore (_, []) = error "trying to takeOneMore from empty list"
|
||||
takeOneMore (xs, ys) = do
|
||||
i <- state $ randomR (0, length ys - 1)
|
||||
let (zs, w : ws) = splitAt i ys
|
||||
return (w : xs, zs ++ ws)
|
||||
|
||||
takeNMore :: RandomGen g => Int -> ([a], [a]) -> State g ([a], [a])
|
||||
takeNMore :: (RandomGen g) => Int -> ([a], [a]) -> State g ([a], [a])
|
||||
takeNMore n p = foldl' (flip $ const (>>= takeOneMore)) (return p) [1 .. n]
|
||||
|
||||
takeN :: RandomGen g => Int -> [a] -> State g [a]
|
||||
takeN :: (RandomGen g) => Int -> [a] -> State g [a]
|
||||
takeN 0 _ = return []
|
||||
takeN i xs = fst <$> takeNMore i ([], xs)
|
||||
|
||||
-- | Randomly shuffle a list.
|
||||
shuffle :: RandomGen g => [a] -> State g [a]
|
||||
shuffle :: (RandomGen g) => [a] -> State g [a]
|
||||
shuffle xs = do
|
||||
rands <- forM [0 .. length xs -1] $ \i -> state $ randomR (0, i)
|
||||
rands <- forM [0 .. length xs - 1] $ \i -> state $ randomR (0, i)
|
||||
let f ys rand =
|
||||
let (as, b : bs) = splitAt rand ys
|
||||
in (as ++ bs, b)
|
||||
@@ -58,94 +75,95 @@ shuffle xs = do
|
||||
return $ forceElements zs `seq` zs
|
||||
|
||||
-- | Randomly shuffle the tail of a list, not safe.
|
||||
shuffleTail :: RandomGen g => [a] -> State g [a]
|
||||
shuffleTail :: (RandomGen g) => [a] -> State g [a]
|
||||
shuffleTail (x : xs) = (x :) <$> shuffle xs
|
||||
shuffleTail _ = undefined
|
||||
|
||||
-- select elements from a list randomly
|
||||
-- each element has the same independent chance of being selected
|
||||
randomSelectionFromList :: RandomGen g => Float -> [a] -> State g [a]
|
||||
randomSelectionFromList :: (RandomGen g) => Float -> [a] -> State g [a]
|
||||
randomSelectionFromList = filterM . const . randProb
|
||||
|
||||
randProb :: RandomGen g => Float -> State g Bool
|
||||
randProb :: (RandomGen g) => Float -> State g Bool
|
||||
randProb p = do
|
||||
p1 <- state $ randomR (0, 1)
|
||||
return (p1 < p)
|
||||
|
||||
randInCirc :: RandomGen g => Float -> State g Point2
|
||||
randInCirc :: (RandomGen g) => Float -> State g Point2
|
||||
randInCirc = flip randInArc (2 * pi)
|
||||
|
||||
randOnCirc :: RandomGen g => Float -> State g Point2
|
||||
randOnCirc :: (RandomGen g) => Float -> State g Point2
|
||||
randOnCirc r = do
|
||||
a <- state $ randomR (0, 2*pi)
|
||||
a <- state $ randomR (0, 2 * pi)
|
||||
return $ r *.* unitVectorAtAngle a
|
||||
|
||||
randInArc :: RandomGen g => Float -> Float -> State g Point2
|
||||
randInArc :: (RandomGen g) => Float -> Float -> State g Point2
|
||||
randInArc = randInArcStrip 0
|
||||
|
||||
randInArcStrip :: RandomGen g => Float -> Float -> Float -> State g Point2
|
||||
randInArcStrip :: (RandomGen g) => Float -> Float -> Float -> State g Point2
|
||||
randInArcStrip minrad maxRad maxangle = do
|
||||
rad <- state $ randomR (minrad, maxRad)
|
||||
ang <- state $ randomR (0, maxangle)
|
||||
return $ rad *.* unitVectorAtAngle ang
|
||||
|
||||
randOnUnitSphere :: RandomGen g => State g Point3
|
||||
randOnUnitSphere :: (RandomGen g) => State g Point3
|
||||
randOnUnitSphere = do
|
||||
z <- state $ randomR (negate 1, 1)
|
||||
longitude <- state $ randomR (0, 2 * pi)
|
||||
let (V2 x y) = sqrt (1 - z ^ (2 :: Int)) *.* unitVectorAtAngle longitude
|
||||
return (V3 x y z)
|
||||
|
||||
randOnHemisphere :: RandomGen g => State g Point3
|
||||
randOnHemisphere :: (RandomGen g) => State g Point3
|
||||
randOnHemisphere = do
|
||||
z <- state $ randomR (0, 1)
|
||||
longitude <- state $ randomR (0, 2 * pi)
|
||||
let (V2 x y) = sqrt (1 - z ^ (2 :: Int)) *.* unitVectorAtAngle longitude
|
||||
return (V3 x y z)
|
||||
|
||||
randInHemisphere :: RandomGen g => State g Point3
|
||||
randInHemisphere :: (RandomGen g) => State g Point3
|
||||
randInHemisphere = do
|
||||
p <- randOnHemisphere
|
||||
r <- state $ randomR (0, 1)
|
||||
return $ r *.*.* p
|
||||
|
||||
randInRect :: RandomGen g => Float -> Float -> State g Point2
|
||||
randInRect :: (RandomGen g) => Float -> Float -> State g Point2
|
||||
randInRect w h = do
|
||||
x <- state $ randomR (0, w)
|
||||
y <- state $ randomR (0, h)
|
||||
return (V2 x y)
|
||||
|
||||
maybeTakeOne :: RandomGen g => [a] -> State g (Maybe a)
|
||||
maybeTakeOne :: (RandomGen g) => [a] -> State g (Maybe a)
|
||||
maybeTakeOne [] = return Nothing
|
||||
maybeTakeOne xs = state (randomR (0, length xs - 1)) >>= (\i -> return (Just (xs !! i)))
|
||||
|
||||
randsSpread :: RandomGen g => (Float, Float) -> Int -> State g [Float]
|
||||
randsSpread :: (RandomGen g) => (Float, Float) -> Int -> State g [Float]
|
||||
randsSpread (a, b) i
|
||||
| i <= 0 = error "tried to take <= 0 randsSpread"
|
||||
| otherwise = zipWith (+) [a + x, a + 2 * x ..] <$> replicateM i (state $ randomR (0, x))
|
||||
where
|
||||
x = (b - a) / fromIntegral i
|
||||
|
||||
randsOnCirc :: RandomGen g => Int -> State g [Float]
|
||||
randsOnCirc :: (RandomGen g) => Int -> State g [Float]
|
||||
randsOnCirc = randsSpread (0, 2 * pi)
|
||||
|
||||
randPeakedParam :: RandomGen g => Int -> Float -> Float -> Float -> State g Float
|
||||
randPeakedParam :: (RandomGen g) => Int -> Float -> Float -> Float -> State g Float
|
||||
randPeakedParam i a b c = do
|
||||
x <- state $ randomR (-1, 1)
|
||||
let y = x ^ i
|
||||
return $ if y < 0
|
||||
then a + y * (a-b)
|
||||
else b + y * (c-b)
|
||||
return $
|
||||
if y < 0
|
||||
then a + y * (a - b)
|
||||
else b + y * (c - b)
|
||||
|
||||
randPeaked :: RandomGen g => Float -> Float -> Float -> State g Float
|
||||
randPeaked :: (RandomGen g) => Float -> Float -> Float -> State g Float
|
||||
randPeaked = randPeakedParam 3
|
||||
|
||||
randFromPair :: RandomGen g => Float -> (a,a) -> State g a
|
||||
randFromPair x (l,r) = do
|
||||
y <- state $ randomR (0,1)
|
||||
randFromPair :: (RandomGen g) => Float -> (a, a) -> State g a
|
||||
randFromPair x (l, r) = do
|
||||
y <- state $ randomR (0, 1)
|
||||
if x < y then return l else return r
|
||||
|
||||
shufflePair :: RandomGen g => (a,a) -> State g (a,a)
|
||||
shufflePair (x,y) = do
|
||||
v <- state $ randomR (0::Float,1)
|
||||
if v > 0.5 then return (x,y) else return (y,x)
|
||||
shufflePair :: (RandomGen g) => (a, a) -> State g (a, a)
|
||||
shufflePair (x, y) = do
|
||||
v <- state $ randomR (0 :: Float, 1)
|
||||
if v > 0.5 then return (x, y) else return (y, x)
|
||||
|
||||
@@ -131,7 +131,7 @@ BlockDebris src/Dodge/Data/Prop.hs 23;" C
|
||||
BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 31;" C
|
||||
BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C
|
||||
BlockStatus src/Dodge/Data/Universe.hs 98;" t
|
||||
BlockedLink src/Dodge/Data/Room.hs 50;" C
|
||||
BlockedLink src/Dodge/Data/Room.hs 54;" C
|
||||
BloomLayer src/Picture/Data.hs 21;" C
|
||||
Blunt src/Dodge/Data/Damage.hs 17;" C
|
||||
Boosting src/Dodge/Data/Creature/Stance.hs 26;" C
|
||||
@@ -220,6 +220,7 @@ Collision_test src/Dodge/Data/Config.hs 98;" C
|
||||
Color src/Color/Data.hs 30;" t
|
||||
Color8 src/Color/Data.hs 32;" t
|
||||
ColorFaction src/Dodge/Data/Creature/State.hs 19;" C
|
||||
ColoredLightRP src/Dodge/Data/Room.hs 88;" C
|
||||
Comatose src/Dodge/Data/Creature/Perception.hs 51;" C
|
||||
CombAmount src/Dodge/Data/CombAmount.hs 10;" t
|
||||
CombItem src/Dodge/Data/Combine.hs 8;" t
|
||||
@@ -453,7 +454,7 @@ FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C
|
||||
ForceField src/Dodge/Data/Material.hs 19;" C
|
||||
ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t
|
||||
ForegroundShape src/Dodge/Data/ForegroundShape.hs 12;" t
|
||||
FromEdge src/Dodge/Data/Room.hs 49;" C
|
||||
FromEdge src/Dodge/Data/Room.hs 53;" C
|
||||
FullRes src/Dodge/Data/Config.hs 113;" C
|
||||
FullShadowFidelity src/Shape/Data.hs 19;" C
|
||||
FullSize src/Dodge/Data/Item/Params.hs 26;" C
|
||||
@@ -563,7 +564,7 @@ ImpulsesList src/Dodge/Data/ActionPlan.hs 72;" C
|
||||
InDivineZone src/Dodge/Data/Scenario.hs 22;" C
|
||||
InDream src/Dodge/Data/Scenario.hs 19;" C
|
||||
InInv src/Dodge/Data/Item/Location.hs 29;" C
|
||||
InLink src/Dodge/Data/Room.hs 45;" C
|
||||
InLink src/Dodge/Data/Room.hs 49;" C
|
||||
InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C
|
||||
InRealWorld src/Dodge/Data/Scenario.hs 18;" C
|
||||
InSimulation src/Dodge/Data/Scenario.hs 20;" C
|
||||
@@ -628,7 +629,7 @@ LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 79;" C
|
||||
LS src/Dodge/Data/LightSource.hs 21;" C
|
||||
LSParam src/Dodge/Data/LightSource.hs 14;" t
|
||||
LWorld src/Dodge/Data/LWorld.hs 94;" t
|
||||
LabLink src/Dodge/Data/Room.hs 46;" C
|
||||
LabLink src/Dodge/Data/Room.hs 50;" C
|
||||
LabSS src/Dodge/Data/Scenario.hs 97;" C
|
||||
LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C
|
||||
Laboratory src/Dodge/Data/Scenario.hs 61;" C
|
||||
@@ -857,7 +858,7 @@ NorthEast src/Dodge/Data/CardinalPoint.hs 21;" C
|
||||
NorthEast8 src/Dodge/Data/CardinalPoint.hs 29;" C
|
||||
NorthWest src/Dodge/Data/CardinalPoint.hs 24;" C
|
||||
NorthWest8 src/Dodge/Data/CardinalPoint.hs 35;" C
|
||||
NotLink src/Dodge/Data/Room.hs 69;" C
|
||||
NotLink src/Dodge/Data/Room.hs 73;" C
|
||||
NotPushed src/Dodge/Data/Door.hs 26;" C
|
||||
Nothing' src/MaybeHelp.hs 11;" C
|
||||
NothingID src/Dodge/Data/CrWlID.hs 10;" C
|
||||
@@ -917,7 +918,7 @@ Object src/Dodge/Data/Object.hs 10;" t
|
||||
ObjectType src/Dodge/Data/ObjectType.hs 9;" t
|
||||
OnBack src/Dodge/Data/Equipment/Misc.hs 22;" C
|
||||
OnChest src/Dodge/Data/Equipment/Misc.hs 21;" C
|
||||
OnEdge src/Dodge/Data/Room.hs 48;" C
|
||||
OnEdge src/Dodge/Data/Room.hs 52;" C
|
||||
OnFloor src/Dodge/Data/Item/Location.hs 38;" C
|
||||
OnHead src/Dodge/Data/Equipment/Misc.hs 20;" C
|
||||
OnLeftLeg src/Dodge/Data/Equipment/Misc.hs 25;" C
|
||||
@@ -933,7 +934,7 @@ Opaque src/Dodge/Data/Wall.hs 34;" C
|
||||
OpticScope src/Dodge/Data/Item/Scope.hs 12;" C
|
||||
OptionScreen src/Dodge/Data/Universe.hs 82;" C
|
||||
OptionScreenFlag src/Dodge/Data/Universe.hs 70;" t
|
||||
OutLink src/Dodge/Data/Room.hs 44;" C
|
||||
OutLink src/Dodge/Data/Room.hs 48;" C
|
||||
OutsideTerminal src/Dodge/Data/Input.hs 28;" C
|
||||
OutwardShockwave src/Dodge/Data/Shockwave.hs 12;" C
|
||||
OverCombCombine src/Dodge/Data/Input.hs 24;" C
|
||||
@@ -963,13 +964,13 @@ PRISM src/Dodge/Data/Item/Combine.hs 65;" C
|
||||
PS src/Dodge/Data/GenWorld.hs 99;" C
|
||||
PSNoShiftCont src/Dodge/Data/GenWorld.hs 100;" C
|
||||
PSPos src/Dodge/Data/GenWorld.hs 101;" C
|
||||
PSRoomRand src/Dodge/Data/GenWorld.hs 106;" C
|
||||
PSRoomRand src/Dodge/Data/GenWorld.hs 108;" C
|
||||
PSType src/Dodge/Data/GenWorld.hs 32;" t
|
||||
PUMP src/Dodge/Data/Item/Combine.hs 62;" C
|
||||
PaletteColor src/Color/Data.hs 11;" t
|
||||
PathBetweenDebugV2s src/Dodge/Data/Universe.hs 54;" C
|
||||
PathBetweenLeftRightClick src/Dodge/Data/Universe.hs 53;" C
|
||||
PathFromEdge src/Dodge/Data/Room.hs 77;" t
|
||||
PathFromEdge src/Dodge/Data/Room.hs 81;" t
|
||||
PathShowType src/Dodge/Data/Universe.hs 52;" t
|
||||
PathTo src/Dodge/Data/ActionPlan.hs 70;" C
|
||||
Pathing src/Dodge/Data/Config.hs 90;" C
|
||||
@@ -986,7 +987,7 @@ Picture src/Picture/Data.hs 41;" t
|
||||
Piercing src/Dodge/Data/Damage.hs 16;" C
|
||||
Piezoelectric src/Dodge/Data/Material.hs 23;" C
|
||||
PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C
|
||||
Placement src/Dodge/Data/GenWorld.hs 112;" t
|
||||
Placement src/Dodge/Data/GenWorld.hs 114;" t
|
||||
PlacementSpot src/Dodge/Data/GenWorld.hs 98;" t
|
||||
PlainBarrel src/Dodge/Data/Creature/Misc.hs 86;" C
|
||||
PlainDeath src/Dodge/Data/Creature.hs 68;" C
|
||||
@@ -1007,7 +1008,7 @@ Poison src/Dodge/Data/Damage.hs 26;" C
|
||||
PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C
|
||||
PoisonDeath src/Dodge/Data/Creature.hs 68;" C
|
||||
PoisonGas src/Dodge/Data/Cloud.hs 42;" C
|
||||
PolyEdge src/Dodge/Data/Room.hs 47;" C
|
||||
PolyEdge src/Dodge/Data/Room.hs 51;" C
|
||||
PolyShad src/Picture/Data.hs 31;" C
|
||||
Polyhedra src/Polyhedra/Data.hs 13;" t
|
||||
Polyhedron src/Polyhedra/Data.hs 13;" C
|
||||
@@ -1074,7 +1075,7 @@ RIFLE src/Dodge/Data/Item/Combine.hs 153;" C
|
||||
RLAUNCHER src/Dodge/Data/Item/Combine.hs 169;" C
|
||||
RLAUNCHERX src/Dodge/Data/Item/Combine.hs 170;" C
|
||||
ROSE src/Color/Data.hs 18;" C
|
||||
RPLinkStatus src/Dodge/Data/Room.hs 58;" t
|
||||
RPLinkStatus src/Dodge/Data/Room.hs 62;" t
|
||||
RProps src/Dodge/Layout/Generate.hs 14;" C
|
||||
RadarBlip src/Dodge/Data/RadarBlip.hs 12;" t
|
||||
RadarSweep src/Dodge/Data/RadarSweep.hs 17;" t
|
||||
@@ -1118,18 +1119,20 @@ Rocket src/Dodge/Data/Projectile.hs 32;" C
|
||||
RocketHoming src/Dodge/Data/Projectile.hs 39;" t
|
||||
RocketSmoke src/Dodge/Data/Projectile.hs 52;" t
|
||||
RocketSmoke src/Dodge/Data/Cloud.hs 22;" C
|
||||
Room src/Dodge/Data/GenWorld.hs 127;" t
|
||||
Room src/Dodge/Data/GenWorld.hs 129;" t
|
||||
RoomClipping src/Dodge/Data/Config.hs 123;" t
|
||||
RoomInt src/Dodge/Tree/Shift.hs 27;" t
|
||||
RoomLink src/Dodge/Data/Room.hs 24;" t
|
||||
RoomLinkType src/Dodge/Data/Room.hs 43;" t
|
||||
RoomLinkType src/Dodge/Data/Room.hs 47;" t
|
||||
RoomNgon src/Dodge/Data/Room.hs 41;" C
|
||||
RoomPos src/Dodge/Data/Room.hs 15;" t
|
||||
RoomPosFlag src/Dodge/Data/Room.hs 80;" t
|
||||
RoomPosOffGrid src/Dodge/Data/Room.hs 82;" C
|
||||
RoomPosOnGrid src/Dodge/Data/Room.hs 81;" C
|
||||
RoomPosFlag src/Dodge/Data/Room.hs 84;" t
|
||||
RoomPosOffGrid src/Dodge/Data/Room.hs 86;" C
|
||||
RoomPosOnFloor src/Dodge/Data/Room.hs 87;" C
|
||||
RoomPosOnGrid src/Dodge/Data/Room.hs 85;" C
|
||||
RoomProperties src/Dodge/Layout/Generate.hs 14;" t
|
||||
RoomType src/Dodge/Data/Room.hs 31;" t
|
||||
RoomWire src/Dodge/Data/Room.hs 53;" t
|
||||
RoomWire src/Dodge/Data/Room.hs 57;" t
|
||||
RoundedFaces src/Shape/Data.hs 13;" C
|
||||
RunningSideEffect src/Dodge/Data/Universe.hs 67;" C
|
||||
SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
|
||||
@@ -1396,7 +1399,7 @@ Unimportant src/Shape/Data.hs 32;" C
|
||||
Universe src/Dodge/Data/Universe.hs 28;" t
|
||||
UnloadedWeaponSF src/Dodge/Data/ComposedItem.hs 13;" C
|
||||
UnlockInv src/Dodge/Data/WorldEffect.hs 31;" C
|
||||
UnusedLink src/Dodge/Data/Room.hs 68;" C
|
||||
UnusedLink src/Dodge/Data/Room.hs 72;" C
|
||||
UseAttach src/Dodge/Data/Item/Use.hs 30;" C
|
||||
UseBulletMod src/Dodge/Data/Item/Use.hs 35;" C
|
||||
UseCondition src/Dodge/Data/UseCondition.hs 4;" t
|
||||
@@ -1419,13 +1422,13 @@ UseValue src/Dodge/Data/Item/Use.hs 33;" C
|
||||
UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C
|
||||
UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C
|
||||
UseableWhenHeld src/Dodge/Data/UseCondition.hs 6;" C
|
||||
UsedInLink src/Dodge/Data/Room.hs 64;" C
|
||||
UsedOutLink src/Dodge/Data/Room.hs 59;" C
|
||||
UsedPos src/Dodge/Data/Room.hs 85;" t
|
||||
UsedPosFloor src/Dodge/Data/Room.hs 89;" C
|
||||
UsedPosHigh src/Dodge/Data/Room.hs 88;" C
|
||||
UsedPosLow src/Dodge/Data/Room.hs 86;" C
|
||||
UsedPosMid src/Dodge/Data/Room.hs 87;" C
|
||||
UsedInLink src/Dodge/Data/Room.hs 68;" C
|
||||
UsedOutLink src/Dodge/Data/Room.hs 63;" C
|
||||
UsedPos src/Dodge/Data/Room.hs 91;" t
|
||||
UsedPosFloor src/Dodge/Data/Room.hs 95;" C
|
||||
UsedPosHigh src/Dodge/Data/Room.hs 94;" C
|
||||
UsedPosLow src/Dodge/Data/Room.hs 92;" C
|
||||
UsedPosMid src/Dodge/Data/Room.hs 93;" C
|
||||
VAO src/Shader/Data.hs 64;" t
|
||||
VBO src/Shader/Data.hs 79;" t
|
||||
VF src/Polyhedra/Data.hs 21;" t
|
||||
@@ -1462,7 +1465,7 @@ WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t
|
||||
WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t
|
||||
WallSound src/Dodge/Data/SoundOrigin.hs 25;" C
|
||||
WallStructure src/Dodge/Data/Wall/Structure.hs 10;" t
|
||||
WallWire src/Dodge/Data/Room.hs 55;" C
|
||||
WallWire src/Dodge/Data/Room.hs 59;" C
|
||||
Walls_info src/Dodge/Data/Config.hs 89;" C
|
||||
War src/Dodge/Data/Scenario.hs 28;" C
|
||||
WarmTime src/Dodge/Data/Item/Params.hs 19;" C
|
||||
@@ -2056,9 +2059,9 @@ _nzAngle src/Dodge/Data/Item/Params.hs 16;" f
|
||||
_nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 50;" f
|
||||
_nzPressure src/Dodge/Data/Muzzle.hs 49;" f
|
||||
_nzWalkSpeed src/Dodge/Data/Muzzle.hs 51;" f
|
||||
_offGridFromEdges src/Dodge/Data/Room.hs 82;" f
|
||||
_offGridFromEdges src/Dodge/Data/Room.hs 86;" f
|
||||
_oldMagnets src/Dodge/Data/LWorld.hs 127;" f
|
||||
_onGridFromEdges src/Dodge/Data/Room.hs 81;" f
|
||||
_onGridFromEdges src/Dodge/Data/Room.hs 85;" f
|
||||
_opDraw src/Dodge/Data/Wall.hs 33;" f
|
||||
_opSel src/Dodge/Data/RightButtonOptions.hs 15;" f
|
||||
_opTexture src/Dodge/Data/Wall.hs 34;" f
|
||||
@@ -2090,11 +2093,11 @@ _pjSpin src/Dodge/Data/Projectile.hs 19;" f
|
||||
_pjTimer src/Dodge/Data/Projectile.hs 22;" f
|
||||
_pjType src/Dodge/Data/Projectile.hs 24;" f
|
||||
_pjVel src/Dodge/Data/Projectile.hs 17;" f
|
||||
_plExternalID src/Dodge/Data/GenWorld.hs 116;" f
|
||||
_plIDCont src/Dodge/Data/GenWorld.hs 117;" f
|
||||
_plMID src/Dodge/Data/GenWorld.hs 115;" f
|
||||
_plSpot src/Dodge/Data/GenWorld.hs 113;" f
|
||||
_plType src/Dodge/Data/GenWorld.hs 114;" f
|
||||
_plExternalID src/Dodge/Data/GenWorld.hs 118;" f
|
||||
_plIDCont src/Dodge/Data/GenWorld.hs 119;" f
|
||||
_plMID src/Dodge/Data/GenWorld.hs 117;" f
|
||||
_plSpot src/Dodge/Data/GenWorld.hs 115;" f
|
||||
_plType src/Dodge/Data/GenWorld.hs 116;" f
|
||||
_plasmaBalls src/Dodge/Data/LWorld.hs 106;" f
|
||||
_playStatus src/Sound/Data.hs 15;" f
|
||||
_playingSounds src/Dodge/Data/World.hs 41;" f
|
||||
@@ -2114,11 +2117,11 @@ _proxReqEquipment src/Dodge/Data/Machine/Sensor.hs 35;" f
|
||||
_proxReqMinHealth src/Dodge/Data/Machine/Sensor.hs 34;" f
|
||||
_proxSensorType src/Dodge/Data/Machine/Sensor.hs 25;" f
|
||||
_proxToggle src/Dodge/Data/Machine/Sensor.hs 26;" f
|
||||
_psFallback src/Dodge/Data/GenWorld.hs 104;" f
|
||||
_psFallback src/Dodge/Data/GenWorld.hs 106;" f
|
||||
_psPos src/Dodge/Data/GenWorld.hs 99;" f
|
||||
_psRandShift src/Dodge/Data/GenWorld.hs 108;" f
|
||||
_psRoomEff src/Dodge/Data/GenWorld.hs 103;" f
|
||||
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 107;" f
|
||||
_psRandShift src/Dodge/Data/GenWorld.hs 110;" f
|
||||
_psRoomEff src/Dodge/Data/GenWorld.hs 105;" f
|
||||
_psRoomRandPointNum src/Dodge/Data/GenWorld.hs 109;" f
|
||||
_psRot src/Dodge/Data/GenWorld.hs 99;" f
|
||||
_psSelect src/Dodge/Data/GenWorld.hs 102;" f
|
||||
_pullWallShader src/Data/Preload/Render.hs 22;" f
|
||||
@@ -2185,41 +2188,43 @@ _rkSmoke src/Dodge/Data/Projectile.hs 34;" f
|
||||
_rlDir src/Dodge/Data/Room.hs 27;" f
|
||||
_rlPos src/Dodge/Data/Room.hs 26;" f
|
||||
_rlType src/Dodge/Data/Room.hs 25;" f
|
||||
_rmBound src/Dodge/Data/GenWorld.hs 143;" f
|
||||
_rmChildren src/Dodge/Data/GenWorld.hs 154;" f
|
||||
_rmClusterStatus src/Dodge/Data/GenWorld.hs 156;" f
|
||||
_rmConnectsTo src/Dodge/Data/GenWorld.hs 151;" f
|
||||
_rmEndWires src/Dodge/Data/GenWorld.hs 150;" f
|
||||
_rmFloor src/Dodge/Data/GenWorld.hs 144;" f
|
||||
_rmBound src/Dodge/Data/GenWorld.hs 145;" f
|
||||
_rmChildren src/Dodge/Data/GenWorld.hs 156;" f
|
||||
_rmClusterStatus src/Dodge/Data/GenWorld.hs 158;" f
|
||||
_rmConnectsTo src/Dodge/Data/GenWorld.hs 153;" f
|
||||
_rmEndWires src/Dodge/Data/GenWorld.hs 152;" f
|
||||
_rmFloor src/Dodge/Data/GenWorld.hs 146;" f
|
||||
_rmHeight src/Dodge/Data/Room.hs 39;" f
|
||||
_rmInPmnt src/Dodge/Data/GenWorld.hs 141;" f
|
||||
_rmLinkEff src/Dodge/Data/GenWorld.hs 131;" f
|
||||
_rmLinks src/Dodge/Data/GenWorld.hs 129;" f
|
||||
_rmMID src/Dodge/Data/GenWorld.hs 152;" f
|
||||
_rmMParent src/Dodge/Data/GenWorld.hs 153;" f
|
||||
_rmName src/Dodge/Data/GenWorld.hs 145;" f
|
||||
_rmPath src/Dodge/Data/GenWorld.hs 139;" f
|
||||
_rmPmnts src/Dodge/Data/GenWorld.hs 140;" f
|
||||
_rmPolys src/Dodge/Data/GenWorld.hs 128;" f
|
||||
_rmPos src/Dodge/Data/GenWorld.hs 138;" f
|
||||
_rmRandPSs src/Dodge/Data/GenWorld.hs 148;" f
|
||||
_rmShift src/Dodge/Data/GenWorld.hs 146;" f
|
||||
_rmStartWires src/Dodge/Data/GenWorld.hs 149;" f
|
||||
_rmType src/Dodge/Data/GenWorld.hs 155;" f
|
||||
_rmViewpoints src/Dodge/Data/GenWorld.hs 147;" f
|
||||
_rmInPmnt src/Dodge/Data/GenWorld.hs 143;" f
|
||||
_rmLinkEff src/Dodge/Data/GenWorld.hs 133;" f
|
||||
_rmLinks src/Dodge/Data/GenWorld.hs 131;" f
|
||||
_rmMID src/Dodge/Data/GenWorld.hs 154;" f
|
||||
_rmMParent src/Dodge/Data/GenWorld.hs 155;" f
|
||||
_rmName src/Dodge/Data/GenWorld.hs 147;" f
|
||||
_rmPath src/Dodge/Data/GenWorld.hs 141;" f
|
||||
_rmPmnts src/Dodge/Data/GenWorld.hs 142;" f
|
||||
_rmPolys src/Dodge/Data/GenWorld.hs 130;" f
|
||||
_rmPos src/Dodge/Data/GenWorld.hs 140;" f
|
||||
_rmRandPSs src/Dodge/Data/GenWorld.hs 150;" f
|
||||
_rmShift src/Dodge/Data/GenWorld.hs 148;" f
|
||||
_rmStartWires src/Dodge/Data/GenWorld.hs 151;" f
|
||||
_rmType src/Dodge/Data/GenWorld.hs 157;" f
|
||||
_rmViewpoints src/Dodge/Data/GenWorld.hs 149;" f
|
||||
_rmWidth src/Dodge/Data/Room.hs 38;" f
|
||||
_rmngonSides src/Dodge/Data/Room.hs 42;" f
|
||||
_rmngonSize src/Dodge/Data/Room.hs 43;" f
|
||||
_rpDir src/Dodge/Data/Room.hs 17;" f
|
||||
_rpFlags src/Dodge/Data/Room.hs 18;" f
|
||||
_rpOnPath src/Dodge/Data/Room.hs 69;" f
|
||||
_rpOnPath src/Dodge/Data/Room.hs 73;" f
|
||||
_rpPlacementUse src/Dodge/Data/Room.hs 20;" f
|
||||
_rpPos src/Dodge/Data/Room.hs 16;" f
|
||||
_rpType src/Dodge/Data/Room.hs 19;" f
|
||||
_rplsChildNum src/Dodge/Data/Room.hs 61;" f
|
||||
_rplsInRoomID src/Dodge/Data/Room.hs 66;" f
|
||||
_rplsOutRoomID src/Dodge/Data/Room.hs 62;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 60;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 65;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 68;" f
|
||||
_rplsChildNum src/Dodge/Data/Room.hs 65;" f
|
||||
_rplsInRoomID src/Dodge/Data/Room.hs 70;" f
|
||||
_rplsOutRoomID src/Dodge/Data/Room.hs 66;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 64;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 69;" f
|
||||
_rplsType src/Dodge/Data/Room.hs 72;" f
|
||||
_rsAR src/Dodge/Data/RadarSweep.hs 23;" f
|
||||
_rsMapper src/Dodge/Data/RadarSweep.hs 22;" f
|
||||
_rsObject src/Dodge/Data/RadarSweep.hs 20;" f
|
||||
@@ -2533,6 +2538,7 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f
|
||||
addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
|
||||
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
|
||||
addIndefiniteArticle src/StringHelp.hs 17;" f
|
||||
addLightsNGon src/Dodge/Room/Modify.hs 41;" f
|
||||
addNodesCrossing src/Dodge/Room/Path.hs 28;" f
|
||||
addNodesCrossingCirc src/Dodge/Room/Path.hs 41;" f
|
||||
addPane src/Dodge/Placement/PlaceSpot.hs 169;" f
|
||||
@@ -2569,8 +2575,8 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 128;" f
|
||||
amr src/Dodge/Item/Held/Rod.hs 34;" f
|
||||
anRoom src/Dodge/Floor.hs 116;" f
|
||||
analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f
|
||||
analyserByDoor src/Dodge/Room/LasTurret.hs 124;" f
|
||||
analyserByNthLink src/Dodge/Room/LasTurret.hs 108;" f
|
||||
analyserByDoor src/Dodge/Room/LasTurret.hs 127;" f
|
||||
analyserByNthLink src/Dodge/Room/LasTurret.hs 111;" f
|
||||
andOrRegex src/Dodge/DisplayInventory.hs 78;" f
|
||||
angleBetween src/Geometry.hs 158;" f
|
||||
angleVV src/Geometry/Vector.hs 58;" f
|
||||
@@ -2769,7 +2775,7 @@ cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 28;" f
|
||||
cardinalVectors src/Dodge/FloorItem.hs 24;" f
|
||||
cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f
|
||||
ceilingTo src/Geometry/Zone.hs 15;" f
|
||||
cenLasTur src/Dodge/Room/LasTurret.hs 50;" f
|
||||
cenLasTur src/Dodge/Room/LasTurret.hs 51;" f
|
||||
centerText src/Picture/Base.hs 176;" f
|
||||
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
|
||||
centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f
|
||||
@@ -2919,7 +2925,7 @@ corDoor src/Dodge/Room/Room.hs 404;" f
|
||||
cornerList src/Preload/Render.hs 236;" f
|
||||
corpseOrGib src/Dodge/Creature/Update.hs 98;" f
|
||||
corridor src/Dodge/Room/Corridor.hs 17;" f
|
||||
corridorBoss src/Dodge/LockAndKey.hs 136;" f
|
||||
corridorBoss src/Dodge/LockAndKey.hs 135;" f
|
||||
corridorN src/Dodge/Room/Corridor.hs 58;" f
|
||||
corridorWallN src/Dodge/Room/Corridor.hs 77;" f
|
||||
crAdd src/Dodge/Room/RezBox.hs 116;" f
|
||||
@@ -3232,7 +3238,7 @@ doFloatFloat src/Dodge/FloatFunction.hs 5;" f
|
||||
doGenFloat src/Dodge/HeldUse.hs 1174;" f
|
||||
doGravityPU src/Dodge/Projectile/Update.hs 35;" f
|
||||
doHeldUseEffect src/Dodge/HeldUse.hs 369;" f
|
||||
doInPlacements src/Dodge/Layout.hs 87;" f
|
||||
doInPlacements src/Dodge/Layout.hs 89;" f
|
||||
doIndividualPlacements src/Dodge/Layout.hs 101;" f
|
||||
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 38;" f
|
||||
doItemTimeScroll src/Dodge/Update.hs 206;" f
|
||||
@@ -3574,9 +3580,9 @@ gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
|
||||
gRandify src/Dodge/Randify.hs 12;" f
|
||||
gadgetEffect src/Dodge/HeldUse.hs 49;" f
|
||||
gameOverMenu src/Dodge/Menu.hs 200;" f
|
||||
gameRoomFromRoom src/Dodge/Layout.hs 152;" f
|
||||
gameRoomFromRoom src/Dodge/Layout.hs 156;" f
|
||||
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
|
||||
gameRoomsFromRooms src/Dodge/Layout.hs 149;" f
|
||||
gameRoomsFromRooms src/Dodge/Layout.hs 153;" f
|
||||
gameplayMenu src/Dodge/Menu.hs 152;" f
|
||||
gameplayMenuOptions src/Dodge/Menu.hs 155;" f
|
||||
gasEffect src/Dodge/Update.hs 855;" f
|
||||
@@ -3585,7 +3591,7 @@ gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f
|
||||
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
|
||||
generateGraphs src/Dodge/Menu.hs 147;" f
|
||||
generateLayout src/Dodge/Layout/Generate.hs 11;" f
|
||||
generateLevelFromRoomList src/Dodge/Layout.hs 35;" f
|
||||
generateLevelFromRoomList src/Dodge/Layout.hs 37;" f
|
||||
generateWorldFromSeed src/Dodge/LevelGen.hs 18;" f
|
||||
geom src/Shader/Data.hs 110;" f
|
||||
geometryQuickCheckTests test/Spec.hs 55;" f
|
||||
@@ -3603,8 +3609,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
|
||||
getCommand src/Dodge/Terminal.hs 61;" f
|
||||
getCommands src/Dodge/Terminal.hs 58;" f
|
||||
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 496;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 483;" f
|
||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 489;" f
|
||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 476;" f
|
||||
getDebugMouseOver src/Dodge/Update.hs 424;" f
|
||||
getDistortions src/Dodge/Render.hs 443;" f
|
||||
getEdgesCrossing src/Dodge/Path.hs 37;" f
|
||||
@@ -3621,14 +3627,14 @@ getNodePos src/Dodge/Path.hs 34;" f
|
||||
getPJStabiliser src/Dodge/HeldUse.hs 1268;" f
|
||||
getPretty src/AesonHelp.hs 8;" f
|
||||
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
|
||||
getRoomFromID src/Dodge/Room/LasTurret.hs 195;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 479;" f
|
||||
getRoomFromID src/Dodge/Room/Modify.hs 31;" f
|
||||
getRoomsFromInts src/Dodge/Room/Tutorial.hs 472;" f
|
||||
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
|
||||
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
|
||||
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
|
||||
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
|
||||
getSplitString src/Dodge/Debug/Terminal.hs 129;" f
|
||||
getTiles src/Dodge/Layout.hs 200;" f
|
||||
getTiles src/Dodge/Layout.hs 207;" f
|
||||
getViewpoints src/Dodge/Viewpoints.hs 29;" f
|
||||
getVolleyBurst src/Dodge/HeldUse.hs 129;" f
|
||||
getWallPathing src/Dodge/Wall/Pathing.hs 7;" f
|
||||
@@ -3707,8 +3713,8 @@ headLampShape src/Dodge/Item/Draw/SPic.hs 422;" f
|
||||
headMap src/Dodge/DoubleTree.hs 118;" f
|
||||
headPQ src/Dodge/Creature/HandPos.hs 116;" f
|
||||
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f
|
||||
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 105;" f
|
||||
healthTest src/Dodge/Room/LasTurret.hs 127;" f
|
||||
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 108;" f
|
||||
healthTest src/Dodge/Room/LasTurret.hs 130;" f
|
||||
heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f
|
||||
heldAimStance src/Dodge/Item/AimStance.hs 24;" f
|
||||
heldAimZoom src/Dodge/Update/Camera.hs 157;" f
|
||||
@@ -3892,7 +3898,7 @@ itemInternalValue src/Dodge/Item/Display.hs 34;" f
|
||||
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
|
||||
itemInvLock src/Dodge/HeldUse.hs 454;" f
|
||||
itemMuzzles src/Dodge/HeldUse.hs 172;" f
|
||||
itemRooms src/Dodge/LockAndKey.hs 41;" f
|
||||
itemRooms src/Dodge/LockAndKey.hs 40;" f
|
||||
itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
|
||||
itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
|
||||
itemScan src/Dodge/Item/Scope.hs 68;" f
|
||||
@@ -3930,9 +3936,9 @@ justify src/Justify.hs 9;" f
|
||||
k src/ShortShow.hs 48;" f
|
||||
k' src/ShortShow.hs 48;" f
|
||||
keyCard src/Dodge/Item/Held/Utility.hs 20;" f
|
||||
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 102;" f
|
||||
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 90;" f
|
||||
keyCardRunPastRand src/Dodge/LockAndKey.hs 38;" f
|
||||
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 105;" f
|
||||
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 93;" f
|
||||
keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f
|
||||
keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
|
||||
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
|
||||
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
|
||||
@@ -3943,19 +3949,19 @@ lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
|
||||
lShape src/Dodge/Placement/Instance/LightSource.hs 57;" f
|
||||
lamp src/Dodge/Creature/Lamp.hs 18;" f
|
||||
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
|
||||
lasCenRunClose' src/Dodge/Room/LasTurret.hs 321;" f
|
||||
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 410;" f
|
||||
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 483;" f
|
||||
lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 375;" f
|
||||
lasCenSensEdge src/Dodge/Room/LasTurret.hs 162;" f
|
||||
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
|
||||
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 398;" f
|
||||
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 471;" f
|
||||
lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 363;" f
|
||||
lasCenSensEdge src/Dodge/Room/LasTurret.hs 165;" f
|
||||
lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f
|
||||
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f
|
||||
lasRunRand src/Dodge/Room/LasTurret.hs 480;" f
|
||||
lasRunYinYang src/Dodge/Room/LasTurret.hs 198;" f
|
||||
lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 261;" f
|
||||
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 139;" f
|
||||
lasTunnel src/Dodge/Room/LasTurret.hs 521;" f
|
||||
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 562;" f
|
||||
lasRunRand src/Dodge/Room/LasTurret.hs 468;" f
|
||||
lasRunYinYang src/Dodge/Room/LasTurret.hs 186;" f
|
||||
lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 249;" f
|
||||
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 142;" f
|
||||
lasTunnel src/Dodge/Room/LasTurret.hs 509;" f
|
||||
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 550;" f
|
||||
lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f
|
||||
laser src/Dodge/Item/Held/BatteryGuns.hs 27;" f
|
||||
laserSpark src/Dodge/Material/Damage.hs 37;" f
|
||||
@@ -3979,8 +3985,8 @@ legsSPic src/Dodge/Item/Draw/SPic.hs 447;" f
|
||||
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
|
||||
liShape src/Dodge/Placement/Instance/LightSource.hs 82;" f
|
||||
light src/Color.hs 131;" f
|
||||
lightSensByDoor src/Dodge/Room/LasTurret.hs 75;" f
|
||||
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 63;" f
|
||||
lightSensByDoor src/Dodge/Room/LasTurret.hs 77;" f
|
||||
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 64;" f
|
||||
lightSensor src/Dodge/Placement/Instance/Sensor.hs 33;" f
|
||||
lightsToRender src/Dodge/Render/Lights.hs 14;" f
|
||||
lightx4 src/Color.hs 155;" f
|
||||
@@ -4122,7 +4128,7 @@ maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f
|
||||
maybeExitCombine src/Dodge/Update/Input/InGame.hs 568;" f
|
||||
maybeOpenConsole src/Dodge/Update.hs 133;" f
|
||||
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
|
||||
maybeTakeOne src/RandomHelp.hs 118;" f
|
||||
maybeTakeOne src/RandomHelp.hs 135;" f
|
||||
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
|
||||
mcBackgroundSound src/Dodge/Machine/Update.hs 153;" f
|
||||
mcColor src/Dodge/Machine/Draw.hs 83;" f
|
||||
@@ -4277,7 +4283,7 @@ normalizeAnglePi src/Dodge/Base.hs 154;" f
|
||||
normalizeColor src/Color.hs 103;" f
|
||||
normalizeV src/Geometry/Vector.hs 44;" f
|
||||
normalizeV3 src/Geometry/Vector3D.hs 84;" f
|
||||
notLink src/Dodge/Data/Room.hs 72;" f
|
||||
notLink src/Dodge/Data/Room.hs 76;" f
|
||||
nulgate src/Dodge/Item/Scope.hs 101;" f
|
||||
numDrawableVertices src/Shader/Parameters.hs 34;" f
|
||||
numGLuint src/Shader/Parameters.hs 29;" f
|
||||
@@ -4344,7 +4350,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f
|
||||
paletteToColor src/Color.hs 85;" f
|
||||
parseItem src/Dodge/Debug/Terminal.hs 62;" f
|
||||
parseNum src/Dodge/Debug/Terminal.hs 77;" f
|
||||
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 561;" f
|
||||
passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 554;" f
|
||||
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
|
||||
pathEdgeObstructed src/Dodge/Path.hs 66;" f
|
||||
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
|
||||
@@ -4385,6 +4391,7 @@ plNew src/Dodge/Base/NewID.hs 19;" f
|
||||
plNewID src/Dodge/Base/NewID.hs 7;" f
|
||||
plNewUpID src/Dodge/Base/NewID.hs 13;" f
|
||||
plNewUsing src/Dodge/Base/NewID.hs 27;" f
|
||||
plPriority src/Dodge/Layout.hs 112;" f
|
||||
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
|
||||
placeChasm src/Dodge/Placement/PlaceSpot.hs 153;" f
|
||||
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 216;" f
|
||||
@@ -4392,7 +4399,7 @@ placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 41;" f
|
||||
placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f
|
||||
placeSpotID src/Dodge/Placement/PlaceSpot.hs 102;" f
|
||||
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 87;" f
|
||||
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 65;" f
|
||||
placeSpotUsingRoomPos src/Dodge/Placement/PlaceSpot.hs 65;" f
|
||||
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 164;" f
|
||||
plainRegex src/Dodge/DisplayInventory.hs 193;" f
|
||||
playIfFree src/Sound.hs 139;" f
|
||||
@@ -4482,7 +4489,7 @@ powlist src/Multiset.hs 61;" f
|
||||
powlistUpToN src/Multiset.hs 23;" f
|
||||
powlistUpToN' src/Multiset.hs 12;" f
|
||||
powlistUpToN'' src/Multiset.hs 31;" f
|
||||
preCritStart src/Dodge/Room/Start.hs 83;" f
|
||||
preCritStart src/Dodge/Room/Start.hs 84;" f
|
||||
prePos src/Quaternion.hs 64;" f
|
||||
preloadRender src/Preload/Render.hs 29;" f
|
||||
premapMaybe src/FoldlHelp.hs 26;" f
|
||||
@@ -4536,7 +4543,7 @@ putDoor src/Dodge/Room/Airlock.hs 114;" f
|
||||
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
|
||||
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
|
||||
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
|
||||
putLamp src/Dodge/Placement/Instance/LightSource.hs 202;" f
|
||||
putLamp src/Dodge/Placement/Instance/LightSource.hs 203;" f
|
||||
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
|
||||
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f
|
||||
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 98;" f
|
||||
@@ -4570,22 +4577,22 @@ randDirSpark src/Dodge/Spark.hs 56;" f
|
||||
randEdgeTank src/Dodge/Room/Tanks.hs 34;" f
|
||||
randEdgeTanks src/Dodge/Room/Tanks.hs 52;" f
|
||||
randFirstWeapon src/Dodge/Placement/Random.hs 8;" f
|
||||
randFromPair src/RandomHelp.hs 143;" f
|
||||
randInArc src/RandomHelp.hs 83;" f
|
||||
randInArcStrip src/RandomHelp.hs 86;" f
|
||||
randInCirc src/RandomHelp.hs 75;" f
|
||||
randInHemisphere src/RandomHelp.hs 106;" f
|
||||
randInRect src/RandomHelp.hs 112;" f
|
||||
randOnCirc src/RandomHelp.hs 78;" f
|
||||
randOnHemisphere src/RandomHelp.hs 99;" f
|
||||
randOnUnitSphere src/RandomHelp.hs 92;" f
|
||||
randPeaked src/RandomHelp.hs 140;" f
|
||||
randPeakedParam src/RandomHelp.hs 132;" f
|
||||
randProb src/RandomHelp.hs 70;" f
|
||||
randFromPair src/RandomHelp.hs 161;" f
|
||||
randInArc src/RandomHelp.hs 100;" f
|
||||
randInArcStrip src/RandomHelp.hs 103;" f
|
||||
randInCirc src/RandomHelp.hs 92;" f
|
||||
randInHemisphere src/RandomHelp.hs 123;" f
|
||||
randInRect src/RandomHelp.hs 129;" f
|
||||
randOnCirc src/RandomHelp.hs 95;" f
|
||||
randOnHemisphere src/RandomHelp.hs 116;" f
|
||||
randOnUnitSphere src/RandomHelp.hs 109;" f
|
||||
randPeaked src/RandomHelp.hs 158;" f
|
||||
randPeakedParam src/RandomHelp.hs 149;" f
|
||||
randProb src/RandomHelp.hs 87;" f
|
||||
randSpark src/Dodge/Spark.hs 70;" f
|
||||
randSparkExtraVel src/Dodge/Spark.hs 93;" f
|
||||
randWallReflect src/Dodge/Update.hs 702;" f
|
||||
randomChallenges src/Dodge/Room/Start.hs 63;" f
|
||||
randomChallenges src/Dodge/Room/Start.hs 64;" f
|
||||
randomCompass src/Dodge/Layout.hs 60;" f
|
||||
randomFourCornerRoom src/Dodge/Room/Procedural.hs 246;" f
|
||||
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 258;" f
|
||||
@@ -4594,11 +4601,11 @@ randomMediumRoom src/Dodge/Room/Boss.hs 70;" f
|
||||
randomPath src/TreeHelp.hs 145;" f
|
||||
randomPoints bench/Bench.hs 37;" f
|
||||
randomRanges src/RandomHelp.hs 18;" f
|
||||
randomSelectionFromList src/RandomHelp.hs 67;" f
|
||||
randomSelectionFromList src/RandomHelp.hs 84;" f
|
||||
randomTank src/Dodge/Room/Tanks.hs 20;" f
|
||||
randomTreeStructure src/Dodge/Layout/Generate.hs 19;" f
|
||||
randsOnCirc src/RandomHelp.hs 129;" f
|
||||
randsSpread src/RandomHelp.hs 122;" f
|
||||
randsOnCirc src/RandomHelp.hs 146;" f
|
||||
randsSpread src/RandomHelp.hs 139;" f
|
||||
ratIntersectLineLine src/Geometry/Intersect.hs 214;" f
|
||||
rdToVec2s src/Dodge/Render.hs 426;" f
|
||||
readSaveSlot src/Dodge/Save.hs 45;" f
|
||||
@@ -4640,7 +4647,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
|
||||
removeAmmoFromMag src/Dodge/HeldUse.hs 929;" f
|
||||
removeDot src/ShortShow.hs 44;" f
|
||||
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
|
||||
removeLights src/Dodge/Room/Tutorial.hs 394;" f
|
||||
removeLights src/Dodge/Room/Modify.hs 34;" f
|
||||
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 71;" f
|
||||
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
|
||||
renderDataResizeUpdate src/Preload/Update.hs 27;" f
|
||||
@@ -4676,7 +4683,7 @@ reversePair src/Dodge/LevelGen.hs 87;" f
|
||||
rewinder src/Dodge/Item/Held/Utility.hs 36;" f
|
||||
rezBox src/Dodge/Room/RezBox.hs 31;" f
|
||||
rezBox' src/Dodge/Room/RezBox.hs 46;" f
|
||||
rezBoxStart src/Dodge/Room/Start.hs 78;" f
|
||||
rezBoxStart src/Dodge/Room/Start.hs 79;" f
|
||||
rezBoxes src/Dodge/Room/RezBox.hs 119;" f
|
||||
rezBoxesWpCrit src/Dodge/Room/RezBox.hs 90;" f
|
||||
rezColor src/Dodge/Room/RezBox.hs 138;" f
|
||||
@@ -4752,7 +4759,7 @@ rprBool src/Dodge/PlacementSpot.hs 74;" f
|
||||
rprBoolShift src/Dodge/PlacementSpot.hs 109;" f
|
||||
rprShift src/Dodge/PlacementSpot.hs 100;" f
|
||||
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
|
||||
runPastStart src/Dodge/Room/Start.hs 72;" f
|
||||
runPastStart src/Dodge/Room/Start.hs 73;" f
|
||||
runStateWorld src/Dodge/Randify.hs 18;" f
|
||||
sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f
|
||||
safeAngleVV src/Geometry/Vector.hs 69;" f
|
||||
@@ -4818,15 +4825,15 @@ selSecSelSize src/Dodge/SelectionSections.hs 143;" f
|
||||
selSecYint src/Dodge/SelectionSections.hs 152;" f
|
||||
selectedItemScroll src/Dodge/Update/Scroll.hs 47;" f
|
||||
semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 785;" f
|
||||
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
|
||||
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
|
||||
sensAboveDoor src/Dodge/Room/SensorDoor.hs 64;" f
|
||||
sensInsideDoor src/Dodge/Room/SensorDoor.hs 73;" f
|
||||
senseDamage src/Dodge/Machine/Update.hs 264;" f
|
||||
senseDamage' src/Dodge/Wall/Damage.hs 61;" f
|
||||
sensorReqToString src/Dodge/Machine/Update.hs 242;" f
|
||||
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
|
||||
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
|
||||
sensorRoom src/Dodge/Room/SensorDoor.hs 31;" f
|
||||
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 55;" f
|
||||
sensorSPic src/Dodge/Machine/Draw.hs 99;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 505;" f
|
||||
sensorTut src/Dodge/Room/Tutorial.hs 498;" f
|
||||
sensorTypeDamages src/Dodge/Machine/Update.hs 288;" f
|
||||
sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f
|
||||
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
|
||||
@@ -4876,7 +4883,7 @@ setupFramebufferGivenStencil src/Framebuffer/Setup.hs 31;" f
|
||||
setupLoop src/Loop.hs 30;" f
|
||||
setupShadowFramebuffer src/Framebuffer/Setup.hs 24;" f
|
||||
setupVBO src/Shader/Compile.hs 37;" f
|
||||
setupWorldBounds src/Dodge/Layout.hs 116;" f
|
||||
setupWorldBounds src/Dodge/Layout.hs 119;" f
|
||||
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
|
||||
shaderTypeExt src/Shader/Compile.hs 59;" f
|
||||
shapeBounds src/Dodge/Room/Foreground.hs 147;" f
|
||||
@@ -4937,17 +4944,17 @@ showEquipItem src/Dodge/Item/Display.hs 108;" f
|
||||
showInt src/Dodge/Item/Info.hs 75;" f
|
||||
showIntsString src/Dodge/Tree/Compose.hs 130;" f
|
||||
showInventoryPathing src/Dodge/Item/Display.hs 86;" f
|
||||
showManObj src/Dodge/TestString.hs 57;" f
|
||||
showManObj src/Dodge/TestString.hs 58;" f
|
||||
showMuzzlePositions src/Dodge/Debug.hs 254;" f
|
||||
showTerminalError src/Dodge/Debug/Terminal.hs 80;" f
|
||||
showTimeFlow src/Dodge/TestString.hs 66;" f
|
||||
showTimeFlow src/Dodge/TestString.hs 67;" f
|
||||
shrinkPolyOnEdges src/Geometry/Polygon.hs 183;" f
|
||||
shrinkVert src/Geometry/Polygon.hs 187;" f
|
||||
shuffle src/RandomHelp.hs 51;" f
|
||||
shuffle src/RandomHelp.hs 68;" f
|
||||
shuffleLinks src/Dodge/Room/Link.hs 30;" f
|
||||
shufflePair src/RandomHelp.hs 148;" f
|
||||
shuffleRoomPos src/Dodge/Layout.hs 82;" f
|
||||
shuffleTail src/RandomHelp.hs 61;" f
|
||||
shufflePair src/RandomHelp.hs 166;" f
|
||||
shuffleRoomPos src/Dodge/Layout.hs 86;" f
|
||||
shuffleTail src/RandomHelp.hs 78;" f
|
||||
sigmoid src/Dodge/Base.hs 151;" f
|
||||
simpleCrSprings src/Dodge/Update.hs 931;" f
|
||||
simpleTermMessage src/Dodge/Terminal.hs 275;" f
|
||||
@@ -4995,7 +5002,7 @@ snailAround src/Dodge/Path.hs 78;" f
|
||||
snapToGrid src/Dodge/Path.hs 129;" f
|
||||
sndV2 src/Geometry/Data.hs 73;" f
|
||||
sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f
|
||||
someCrits src/Dodge/LockAndKey.hs 123;" f
|
||||
someCrits src/Dodge/LockAndKey.hs 122;" f
|
||||
soundAngle src/Dodge/SoundLogic.hs 163;" f
|
||||
soundContinue src/Dodge/SoundLogic.hs 131;" f
|
||||
soundContinueVol src/Dodge/SoundLogic.hs 145;" f
|
||||
@@ -5018,7 +5025,7 @@ spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 176;" f
|
||||
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 169;" f
|
||||
spanLS src/Dodge/Placement/Instance/LightSource.hs 161;" f
|
||||
spanLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f
|
||||
spanLightY src/Dodge/Placement/Instance/LightSource.hs 186;" f
|
||||
spanLightY src/Dodge/Placement/Instance/LightSource.hs 187;" f
|
||||
sparkDam src/Dodge/Spark.hs 37;" f
|
||||
sparkRandDir src/Dodge/Spark.hs 117;" f
|
||||
sparkToDamage src/Dodge/Spark.hs 40;" f
|
||||
@@ -5068,7 +5075,7 @@ stackPicturesAtOff src/Dodge/Render/List.hs 98;" f
|
||||
stackText src/Picture/Base.hs 180;" f
|
||||
stackedInventory src/Dodge/Creature.hs 324;" f
|
||||
startCr src/Dodge/Creature.hs 90;" f
|
||||
startCrafts src/Dodge/Room/Start.hs 93;" f
|
||||
startCrafts src/Dodge/Room/Start.hs 94;" f
|
||||
startDrag src/Dodge/Update/Input/InGame.hs 285;" f
|
||||
startInvList src/Dodge/Creature.hs 105;" f
|
||||
startInventory src/Dodge/Creature.hs 108;" f
|
||||
@@ -5090,7 +5097,7 @@ stopBulletAt src/Dodge/Bullet.hs 200;" f
|
||||
stopPushing src/Dodge/Wall/Damage.hs 172;" f
|
||||
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
|
||||
storageShape src/Dodge/Machine/Draw.hs 31;" f
|
||||
storeRoomID src/Dodge/Room/LasTurret.hs 187;" f
|
||||
storeRoomID src/Dodge/Room/Modify.hs 23;" f
|
||||
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
|
||||
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
|
||||
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
|
||||
@@ -5114,11 +5121,13 @@ t src/ShortShow.hs 48;" f
|
||||
tEast src/Dodge/Room/Corridor.hs 96;" f
|
||||
tToBTree src/Dodge/Tree/Compose.hs 93;" f
|
||||
tWest src/Dodge/Room/Corridor.hs 121;" f
|
||||
takeN src/RandomHelp.hs 46;" f
|
||||
takeNMore src/RandomHelp.hs 43;" f
|
||||
takeN src/RandomHelp.hs 63;" f
|
||||
takeNMore src/RandomHelp.hs 60;" f
|
||||
takeOne src/RandomHelp.hs 24;" f
|
||||
takeOneMore src/RandomHelp.hs 36;" f
|
||||
takeOneWeighted src/RandomHelp.hs 27;" f
|
||||
takeOneFiltered src/RandomHelp.hs 34;" f
|
||||
takeOneMore src/RandomHelp.hs 53;" f
|
||||
takeOneRem src/RandomHelp.hs 27;" f
|
||||
takeOneWeighted src/RandomHelp.hs 44;" f
|
||||
takeUntil src/FoldableHelp.hs 99;" f
|
||||
takeWhileArb src/ListHelp.hs 100;" f
|
||||
takeWhileArb' src/ListHelp.hs 108;" f
|
||||
@@ -5157,7 +5166,7 @@ testEvent src/Dodge/Event/Test.hs 11;" f
|
||||
testInventory src/Dodge/Creature.hs 305;" f
|
||||
testPic src/Dodge/Render/ShapePicture.hs 57;" f
|
||||
testSPic src/Dodge/Render/ShapePicture.hs 54;" f
|
||||
testStringInit src/Dodge/TestString.hs 34;" f
|
||||
testStringInit src/Dodge/TestString.hs 35;" f
|
||||
text src/Picture/Base.hs 185;" f
|
||||
textGrad src/Picture/Text.hs 5;" f
|
||||
textInputBlurb src/Dodge/Terminal.hs 43;" f
|
||||
@@ -5189,7 +5198,7 @@ throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 801;" f
|
||||
throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 761;" f
|
||||
throwItem src/Dodge/Creature/Action.hs 191;" f
|
||||
tileTexCoords src/Tile.hs 11;" f
|
||||
tilesFromRooms src/Dodge/Layout.hs 197;" f
|
||||
tilesFromRooms src/Dodge/Layout.hs 204;" f
|
||||
tilesToLine src/Shader/AuxAddition.hs 66;" f
|
||||
timeFlowUpdate src/Dodge/Update.hs 181;" f
|
||||
timeScroller src/Dodge/Item/Held/Utility.hs 42;" f
|
||||
@@ -5235,7 +5244,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f
|
||||
topInvW src/Dodge/ListDisplayParams.hs 54;" f
|
||||
topPrismEdgeIndices src/Shader/Poke.hs 335;" f
|
||||
topPrismIndices src/Shader/Poke.hs 410;" f
|
||||
topTestPart src/Dodge/TestString.hs 53;" f
|
||||
topTestPart src/Dodge/TestString.hs 54;" f
|
||||
torchShape src/Dodge/Item/Draw/SPic.hs 276;" f
|
||||
torqueAmount src/Dodge/HeldUse.hs 596;" f
|
||||
torqueCr src/Dodge/WorldEffect.hs 86;" f
|
||||
@@ -5310,11 +5319,11 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f
|
||||
turretItemOffset src/Dodge/Item/HeldOffset.hs 22;" f
|
||||
tutAnoTree src/Dodge/Room/Tutorial.hs 51;" f
|
||||
tutDrop src/Dodge/Room/Tutorial.hs 112;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 401;" f
|
||||
tutHub src/Dodge/Room/Tutorial.hs 394;" f
|
||||
tutLight src/Dodge/Room/Tutorial.hs 362;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 516;" f
|
||||
tutRezBox src/Dodge/Room/Tutorial.hs 509;" f
|
||||
tutRoomTree src/Dodge/Floor.hs 20;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 541;" f
|
||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 534;" f
|
||||
tweenAngles src/Geometry/Vector.hs 190;" f
|
||||
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
|
||||
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
|
||||
@@ -5543,7 +5552,7 @@ wallBlips src/Dodge/RadarSweep.hs 99;" f
|
||||
wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f
|
||||
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
|
||||
wallToSurface src/Dodge/Base/Collide.hs 180;" f
|
||||
wallsFromRooms src/Dodge/Layout.hs 137;" f
|
||||
wallsFromRooms src/Dodge/Layout.hs 141;" f
|
||||
wallsToDraw src/Dodge/Render/Walls.hs 18;" f
|
||||
warmupSound src/Dodge/HeldUse.hs 1393;" f
|
||||
warningRooms src/Dodge/Room/Warning.hs 33;" f
|
||||
|
||||
Reference in New Issue
Block a user