Cleanup, improve auto wall rotate
This commit is contained in:
+20
-32
@@ -21,7 +21,6 @@ module Dodge.Base.Collide (
|
|||||||
bouncePoint,
|
bouncePoint,
|
||||||
circOnSomeWall,
|
circOnSomeWall,
|
||||||
circOnAnyCr,
|
circOnAnyCr,
|
||||||
overlapCircWalls,
|
|
||||||
overlapCircWallsClosest,
|
overlapCircWallsClosest,
|
||||||
crsNearPoint,
|
crsNearPoint,
|
||||||
allVisibleWalls,
|
allVisibleWalls,
|
||||||
@@ -73,15 +72,15 @@ doBounce x sp ep (p, mwl) = fmap f mwl
|
|||||||
, reflVelWallDamp x wl (ep -.- sp)
|
, reflVelWallDamp x wl (ep -.- sp)
|
||||||
)
|
)
|
||||||
|
|
||||||
--bounceBall ::
|
-- bounceBall ::
|
||||||
-- Float ->
|
-- Float ->
|
||||||
-- Point2 ->
|
-- Point2 ->
|
||||||
-- Point2 ->
|
-- Point2 ->
|
||||||
-- Float ->
|
-- Float ->
|
||||||
-- [Wall] ->
|
-- [Wall] ->
|
||||||
-- Maybe (Point2, Point2)
|
-- Maybe (Point2, Point2)
|
||||||
--{-# INLINE bounceBall #-}
|
-- {-# INLINE bounceBall #-}
|
||||||
--bounceBall x sp ep r = doBounce x sp ep . collideCircWalls sp ep r
|
-- bounceBall x sp ep r = doBounce x sp ep . collideCircWalls sp ep r
|
||||||
|
|
||||||
bouncePoint ::
|
bouncePoint ::
|
||||||
(Wall -> Bool) ->
|
(Wall -> Bool) ->
|
||||||
@@ -106,7 +105,7 @@ collide3Chasms sp w m =
|
|||||||
foldl'
|
foldl'
|
||||||
(flip (collide3Chasm sp))
|
(flip (collide3Chasm sp))
|
||||||
m
|
m
|
||||||
--(foldMap loopPairs $ w ^. cWorld . chasms)
|
-- (foldMap loopPairs $ w ^. cWorld . chasms)
|
||||||
(w ^. cWorld . cliffs)
|
(w ^. cWorld . cliffs)
|
||||||
|
|
||||||
collide3Chasm :: Point3 -> (Point2, Point2) -> (Point3, MPO) -> (Point3, MPO)
|
collide3Chasm :: Point3 -> (Point2, Point2) -> (Point3, MPO) -> (Point3, MPO)
|
||||||
@@ -194,9 +193,9 @@ collidePointTestFilter t sp ep =
|
|||||||
|
|
||||||
---- this COULD be written in terms of collidePointWallsFilterStream, TODO test
|
---- this COULD be written in terms of collidePointWallsFilterStream, TODO test
|
||||||
---- whether this is actually faster
|
---- whether this is actually faster
|
||||||
--collidePointTestFilter :: (Wall -> Bool) -> Point2 -> Point2 -> StreamOf Wall -> Bool
|
-- collidePointTestFilter :: (Wall -> Bool) -> Point2 -> Point2 -> StreamOf Wall -> Bool
|
||||||
--{-# INLINE collidePointTestFilter #-}
|
-- {-# INLINE collidePointTestFilter #-}
|
||||||
--collidePointTestFilter t sp ep = runIdentity
|
-- collidePointTestFilter t sp ep = runIdentity
|
||||||
-- . S.any_ (isJust . uncurry (intersectSegSeg sp ep) . _wlLine)
|
-- . S.any_ (isJust . uncurry (intersectSegSeg sp ep) . _wlLine)
|
||||||
-- . S.filter t
|
-- . S.filter t
|
||||||
|
|
||||||
@@ -204,15 +203,15 @@ collidePointWallsFilter :: (Wall -> Bool) -> Point2 -> Point2 -> World -> (Point
|
|||||||
{-# INLINE collidePointWallsFilter #-}
|
{-# INLINE collidePointWallsFilter #-}
|
||||||
collidePointWallsFilter t sp ep = collidePoint sp ep . filter t . wlsNearSeg sp ep
|
collidePointWallsFilter t sp ep = collidePoint sp ep . filter t . wlsNearSeg sp ep
|
||||||
|
|
||||||
--overlapSegWalls :: Point2 -> Point2 -> StreamOf Wall
|
-- overlapSegWalls :: Point2 -> Point2 -> StreamOf Wall
|
||||||
-- -> StreamOf (Point2,Wall)
|
-- -> StreamOf (Point2,Wall)
|
||||||
--{-# INLINE overlapSegWalls #-}
|
-- {-# INLINE overlapSegWalls #-}
|
||||||
--overlapSegWalls sp ep = S.mapMaybe $ \wl -> uncurry (intersectSegSeg sp ep) (_wlLine wl) <&> (,wl)
|
-- overlapSegWalls sp ep = S.mapMaybe $ \wl -> uncurry (intersectSegSeg sp ep) (_wlLine wl) <&> (,wl)
|
||||||
|
|
||||||
overlapSegWalls :: Point2 -> Point2 -> [Wall] -> [(Point2, Wall)]
|
overlapSegWalls :: Point2 -> Point2 -> [Wall] -> [(Point2, Wall)]
|
||||||
{-# INLINE overlapSegWalls #-}
|
{-# INLINE overlapSegWalls #-}
|
||||||
overlapSegWalls sp ep = mapMaybe
|
overlapSegWalls sp ep = mapMaybe $
|
||||||
$ \wl -> uncurry (intersectSegSeg sp ep) (_wlLine wl) <&> (,wl)
|
\wl -> uncurry (intersectSegSeg sp ep) (_wlLine wl) <&> (,wl)
|
||||||
|
|
||||||
visibleWalls :: Point2 -> Point2 -> World -> [(Point2, Wall)]
|
visibleWalls :: Point2 -> Point2 -> World -> [(Point2, Wall)]
|
||||||
{-# INLINE visibleWalls #-}
|
{-# INLINE visibleWalls #-}
|
||||||
@@ -228,16 +227,12 @@ allVisibleWalls w = concatMap (flip (visibleWalls vPos) w . (+.+ vPos)) $ nRays
|
|||||||
where
|
where
|
||||||
vPos = w ^. wCam . camViewFrom
|
vPos = w ^. wCam . camViewFrom
|
||||||
|
|
||||||
overlapCircWalls ::
|
overlapCircWalls :: Point2 -> Float -> [Wall] -> [(Point2, Wall)]
|
||||||
Point2 ->
|
|
||||||
Float ->
|
|
||||||
[Wall] ->
|
|
||||||
[(Point2, Wall)]
|
|
||||||
{-# INLINE overlapCircWalls #-}
|
{-# INLINE overlapCircWalls #-}
|
||||||
overlapCircWalls p r = mapMaybe dointersect
|
overlapCircWalls p r = mapMaybe g
|
||||||
where
|
where
|
||||||
dointersect wl = f (_wlLine wl) <&> (,wl)
|
g wl = f (_wlLine wl) <&> (,wl)
|
||||||
f (a, b) = intersectSegSeg p (p +.+ r *.* normalizeV ((0.5 *.* (a +.+ b)) -.- p)) a b
|
f (a, b) = intersectSegSeg p (p + r *^ vNormal (normalizeV (b - a))) a b
|
||||||
|
|
||||||
circHitWall :: Point2 -> Point2 -> Float -> World -> Bool
|
circHitWall :: Point2 -> Point2 -> Float -> World -> Bool
|
||||||
circHitWall sp ep r w =
|
circHitWall sp ep r w =
|
||||||
@@ -256,7 +251,8 @@ collideCircWalls :: Point2 -> Point2 -> Float -> [Wall] -> (Point2, Maybe Wall)
|
|||||||
collideCircWalls sp ep rad = foldl' findPoint (ep, Nothing)
|
collideCircWalls sp ep rad = foldl' findPoint (ep, Nothing)
|
||||||
where
|
where
|
||||||
findPoint (p, mwl) wl =
|
findPoint (p, mwl) wl =
|
||||||
maybe (p, mwl) (,Just wl) . uncurry (intersectSegSeg sp p)
|
maybe (p, mwl) (,Just wl)
|
||||||
|
. uncurry (intersectSegSeg sp p)
|
||||||
. shiftbyrad
|
. shiftbyrad
|
||||||
. _wlLine
|
. _wlLine
|
||||||
$ wl
|
$ wl
|
||||||
@@ -272,14 +268,7 @@ collideCircWalls sp ep rad = foldl' findPoint (ep, Nothing)
|
|||||||
|
|
||||||
overlapCircWallsClosest :: Point2 -> Float -> [Wall] -> Maybe (Point2, Wall)
|
overlapCircWallsClosest :: Point2 -> Float -> [Wall] -> Maybe (Point2, Wall)
|
||||||
{-# INLINE overlapCircWallsClosest #-}
|
{-# INLINE overlapCircWallsClosest #-}
|
||||||
overlapCircWallsClosest p r =
|
overlapCircWallsClosest p r = safeMinimumOn (dist p . fst) . overlapCircWalls p r
|
||||||
safeMinimumOn (dist p . fst)
|
|
||||||
. overlapCircWalls p r
|
|
||||||
|
|
||||||
--overlapCircWallsClosest :: Point2 -> Float -> StreamOf Wall -> Maybe (Point2,Wall)
|
|
||||||
--{-# INLINE overlapCircWallsClosest #-}
|
|
||||||
--overlapCircWallsClosest p r = minStreamOn (dist p . fst)
|
|
||||||
-- . overlapCircWalls p r
|
|
||||||
|
|
||||||
{- | Test if a circle collides with any wall.
|
{- | Test if a circle collides with any wall.
|
||||||
- Note no check on whether the wall is walkable.
|
- Note no check on whether the wall is walkable.
|
||||||
@@ -313,7 +302,7 @@ hasButtonLOS :: Point2 -> Point2 -> World -> Bool
|
|||||||
{-# INLINE hasButtonLOS #-}
|
{-# INLINE hasButtonLOS #-}
|
||||||
hasButtonLOS _ _ = const True
|
hasButtonLOS _ _ = const True
|
||||||
|
|
||||||
--hasButtonLOS p1 p2 =
|
-- hasButtonLOS p1 p2 =
|
||||||
-- not
|
-- not
|
||||||
-- . collidePointTestFilter (not . _wlTouchThrough) p1 p2
|
-- . collidePointTestFilter (not . _wlTouchThrough) p1 p2
|
||||||
-- . wlsNearSeg p1 p2
|
-- . wlsNearSeg p1 p2
|
||||||
@@ -325,7 +314,6 @@ hasLOSIndirect p1 p2 =
|
|||||||
. collidePointTestFilter wlIsOpaque p1 p2
|
. collidePointTestFilter wlIsOpaque p1 p2
|
||||||
. wlsNearSeg p1 p2
|
. wlsNearSeg p1 p2
|
||||||
|
|
||||||
|
|
||||||
canSee :: Int -> Int -> World -> Bool
|
canSee :: Int -> Int -> World -> Bool
|
||||||
{-# INLINE canSee #-}
|
{-# INLINE canSee #-}
|
||||||
canSee i j w = hasLOS p1 p2 w
|
canSee i j w = hasLOS p1 p2 w
|
||||||
|
|||||||
+1
-1
@@ -259,7 +259,7 @@ showMuzzlePositions u = fold $ do
|
|||||||
^? ix invid . _2
|
^? ix invid . _2
|
||||||
return . color red $ setLayer DebugLayer $ reduceLocDT (f cr) loc
|
return . color red $ setLayer DebugLayer $ reduceLocDT (f cr) loc
|
||||||
where
|
where
|
||||||
f cr loc = foldMap (g . muzzlePos loc cr) (itemMuzzles $ loc)
|
f cr loc = foldMap (g . muzzlePos loc cr) (itemMuzzles loc)
|
||||||
where
|
where
|
||||||
g :: Point3Q -> Picture
|
g :: Point3Q -> Picture
|
||||||
g pq = translate3 (pq ^. _1) $ crossPic 5
|
g pq = translate3 (pq ^. _1) $ crossPic 5
|
||||||
|
|||||||
+2
-5
@@ -67,9 +67,7 @@ createHeadLamp _ cr =
|
|||||||
. lWorld
|
. lWorld
|
||||||
. lights
|
. lights
|
||||||
.:~ LSParam
|
.:~ LSParam
|
||||||
( _crPos cr
|
(_crPos cr + rotate3z (_crDir cr) (translateToES cr OnHead (V3 5 0 3)))
|
||||||
+ rotate3z (_crDir cr) (translateToES cr OnHead (V3 5 0 3))
|
|
||||||
)
|
|
||||||
200
|
200
|
||||||
0.7
|
0.7
|
||||||
|
|
||||||
@@ -100,8 +98,7 @@ onEquipWristShield itm cr w =
|
|||||||
. at i
|
. at i
|
||||||
?~ forceField{_wlID = i}
|
?~ forceField{_wlID = i}
|
||||||
& setWristShieldPos
|
& setWristShieldPos
|
||||||
( itm & itParams .~ ItemParamID{_itParamID = i}
|
(itm & itParams .~ ItemParamID{_itParamID = i})
|
||||||
)
|
|
||||||
cr
|
cr
|
||||||
esite
|
esite
|
||||||
where
|
where
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ locMuzzles loc
|
|||||||
& ix 0 . mzInaccuracy .~ 0
|
& ix 0 . mzInaccuracy .~ 0
|
||||||
& ix 0 . mzFlareType .~ TeslaGunFlare
|
& ix 0 . mzFlareType .~ TeslaGunFlare
|
||||||
-- | otherwise = itemMuzzles $ loc ^. locDT . dtValue . _1
|
-- | otherwise = itemMuzzles $ loc ^. locDT . dtValue . _1
|
||||||
| otherwise = itemMuzzles $ loc
|
| otherwise = itemMuzzles loc
|
||||||
|
|
||||||
itemMuzzles :: LocationDT OItem -> [Muzzle]
|
itemMuzzles :: LocationDT OItem -> [Muzzle]
|
||||||
itemMuzzles loc = case itm ^. itType of
|
itemMuzzles loc = case itm ^. itType of
|
||||||
@@ -933,8 +933,7 @@ removeAmmoFromMag x magid
|
|||||||
getBulletType :: DTree OItem -> Maybe Bullet
|
getBulletType :: DTree OItem -> Maybe Bullet
|
||||||
getBulletType magtree =
|
getBulletType magtree =
|
||||||
(magtree ^? dtValue . _1 . to magAmmoParams . _Just . ampBullet)
|
(magtree ^? dtValue . _1 . to magAmmoParams . _Just . ampBullet)
|
||||||
<&> buPayload .~ bpayload
|
<&> (buPayload .~ bpayload) . (buEffect .~ beffect)
|
||||||
<&> buEffect .~ beffect
|
|
||||||
where
|
where
|
||||||
bpayload = fromMaybe (BulPlain 100) $ do
|
bpayload = fromMaybe (BulPlain 100) $ do
|
||||||
attree <- find ispayload (magtree ^. dtLeft)
|
attree <- find ispayload (magtree ^. dtLeft)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ generateWorldFromSeed rdata i = do
|
|||||||
postGenerationProcessing :: RenderData -> GenWorld -> IO World
|
postGenerationProcessing :: RenderData -> GenWorld -> IO World
|
||||||
postGenerationProcessing _ gw = do
|
postGenerationProcessing _ gw = do
|
||||||
let w = _gwWorld gw & cWorld . cwTiles .~ (tilesFromRooms . IM.elems $ _genRooms gw)
|
let w = _gwWorld gw & cWorld . cwTiles .~ (tilesFromRooms . IM.elems $ _genRooms gw)
|
||||||
putStrLn $ show $ gw ^. genInts
|
-- print $ gw ^. genInts
|
||||||
return $ foldl' assignPushDoors w (w ^. cWorld . lWorld . doors)
|
return $ foldl' assignPushDoors w (w ^. cWorld . lWorld . doors)
|
||||||
|
|
||||||
assignPushDoors :: World -> Door -> World
|
assignPushDoors :: World -> Door -> World
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ updateTurret rotSpeed mc w =
|
|||||||
. mcType
|
. mcType
|
||||||
. mctTurret
|
. mctTurret
|
||||||
. tuDir
|
. tuDir
|
||||||
%~ ((subtract mcdir) . turnTo rotSpeed mcpos aimpos . (+mcdir))
|
%~ (subtract mcdir . turnTo rotSpeed mcpos aimpos . (+mcdir))
|
||||||
| otherwise = id
|
| otherwise = id
|
||||||
closeFireAngle = seesYou -- && angleVV (ypos -.- mcpos) (unitVectorAtAngle mcdir) < 1
|
closeFireAngle = seesYou -- && angleVV (ypos -.- mcpos) (unitVectorAtAngle mcdir) < 1
|
||||||
updateFiringStatus
|
updateFiringStatus
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import Dodge.LightSource
|
|||||||
import Dodge.Placement.Instance.LightSource
|
import Dodge.Placement.Instance.LightSource
|
||||||
import Dodge.PlacementSpot
|
import Dodge.PlacementSpot
|
||||||
import Geometry
|
import Geometry
|
||||||
|
import Shape
|
||||||
|
|
||||||
triggerSwitchSPic :: Color -> Color -> PlacementSpot -> Placement
|
triggerSwitchSPic :: Color -> Color -> PlacementSpot -> Placement
|
||||||
triggerSwitchSPic c1 c2 ps = psPtCont ps (PutTrigger False) $
|
triggerSwitchSPic c1 c2 ps = psPtCont ps (PutTrigger False) $
|
||||||
@@ -19,7 +20,8 @@ triggerSwitchSPic c1 c2 ps = psPtCont ps (PutTrigger False) $
|
|||||||
ps
|
ps
|
||||||
( PutButton
|
( PutButton
|
||||||
( makeSwitch
|
( makeSwitch
|
||||||
c1 c2
|
c1
|
||||||
|
c2
|
||||||
(SetTrigger True $ trigid tp)
|
(SetTrigger True $ trigid tp)
|
||||||
(SetTrigger False $ trigid tp)
|
(SetTrigger False $ trigid tp)
|
||||||
)
|
)
|
||||||
@@ -50,14 +52,7 @@ triggerSwitch col ps = psPtCont ps (PutTrigger False) $
|
|||||||
Just $
|
Just $
|
||||||
pContID
|
pContID
|
||||||
ps
|
ps
|
||||||
( PutButton
|
(PutButton (makeSwitch col col (SetTrigger True $ trigid tp) (SetTrigger False $ trigid tp)))
|
||||||
( makeSwitch
|
|
||||||
col
|
|
||||||
col
|
|
||||||
(SetTrigger True $ trigid tp)
|
|
||||||
(SetTrigger False $ trigid tp)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(const Nothing)
|
(const Nothing)
|
||||||
where
|
where
|
||||||
trigid tp = fromJust $ _plMID tp
|
trigid tp = fromJust $ _plMID tp
|
||||||
@@ -65,14 +60,14 @@ triggerSwitch col ps = psPtCont ps (PutTrigger False) $
|
|||||||
putLitButOnPos :: Color -> PlacementSpot -> (Placement -> Maybe Placement) -> Placement
|
putLitButOnPos :: Color -> PlacementSpot -> (Placement -> Maybe Placement) -> Placement
|
||||||
putLitButOnPos col theps subpl =
|
putLitButOnPos col theps subpl =
|
||||||
plSpot .~ theps $
|
plSpot .~ theps $
|
||||||
mntLSOn aShape (Just col) ls 0 (V3 0 (-40) 40) $
|
mntLSOn shp ls 0 (V3 0 (-40) 40) $
|
||||||
\plmnt ->
|
\pmnt ->
|
||||||
jps0'
|
jps0'
|
||||||
(PutButton (makeButton col (changeLight . fromJust $ _plMID plmnt)){_btPos = V2 0 (-1), _btRot = pi})
|
(PutButton (makeButton col (changeLight $ pmnt ^?! plMID . _Just) & btPos .~ V2 0 (-1) & btRot .~ pi))
|
||||||
subpl
|
subpl
|
||||||
<&> plSpot
|
<&> plSpot .~ _plSpot pmnt
|
||||||
.~ _plSpot plmnt
|
|
||||||
where
|
where
|
||||||
|
shp = fmap (fmap $ colorSH col) aShape
|
||||||
changeLight = SetLSCol (V3 0 0.5 0)
|
changeLight = SetLSCol (V3 0 0.5 0)
|
||||||
ls = lsColPosRad (V3 0.5 0 0) (V3 0 0 50) 50
|
ls = lsColPosRad (V3 0.5 0 0) (V3 0 0 50) 50
|
||||||
|
|
||||||
@@ -107,7 +102,7 @@ putLitButOnPosExtTrig' col thePS cnt =
|
|||||||
psPtCont thePS (PutTrigger False) $
|
psPtCont thePS (PutTrigger False) $
|
||||||
\tp -> Just $
|
\tp -> Just $
|
||||||
plSpot .~ _plSpot tp $
|
plSpot .~ _plSpot tp $
|
||||||
mntLSOn aShape (Just col) ls 0 (V3 0 (-40) 40) $
|
mntLSOn shp ls 0 (V3 0 (-40) 40) $
|
||||||
\plmnt ->
|
\plmnt ->
|
||||||
jps0'
|
jps0'
|
||||||
( PutButton
|
( PutButton
|
||||||
@@ -120,6 +115,7 @@ putLitButOnPosExtTrig' col thePS cnt =
|
|||||||
<&> plSpot
|
<&> plSpot
|
||||||
.~ _plSpot plmnt
|
.~ _plSpot plmnt
|
||||||
where
|
where
|
||||||
|
shp = fmap (fmap $ colorSH col) aShape
|
||||||
trigid tp = fromJust $ _plMID tp
|
trigid tp = fromJust $ _plMID tp
|
||||||
oneff = SetTrigger True
|
oneff = SetTrigger True
|
||||||
changeLight = SetLSCol (V3 0 0.5 0)
|
changeLight = SetLSCol (V3 0 0.5 0)
|
||||||
|
|||||||
@@ -74,6 +74,6 @@ putAutoDoor a b = Placement (PS 0 0) (PutCoord a) Nothing Nothing $ \_ apl ->
|
|||||||
a
|
a
|
||||||
b
|
b
|
||||||
( defaultDoor
|
( defaultDoor
|
||||||
& drTrigger .~ (WdBlCrFilterNearPoint 40 (0.5 *^ (x + y)) CrOpenAutoDoor)
|
& drTrigger .~ WdBlCrFilterNearPoint 40 (0.5 *^ (x + y)) CrOpenAutoDoor
|
||||||
& drUpdate .~ DoorLerpWithTimer 0 3
|
& drUpdate .~ DoorLerpWithTimer 0 3
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -36,15 +36,14 @@ mntLSOn ::
|
|||||||
-- | function describing the mount shape
|
-- | function describing the mount shape
|
||||||
(Point2 -> Point3 -> Shape) ->
|
(Point2 -> Point3 -> Shape) ->
|
||||||
-- | describing a possible color override for the shape
|
-- | describing a possible color override for the shape
|
||||||
Maybe Color ->
|
|
||||||
LightSource ->
|
LightSource ->
|
||||||
Point2 ->
|
Point2 ->
|
||||||
Point3 ->
|
Point3 ->
|
||||||
(Placement -> Maybe Placement) ->
|
(Placement -> Maybe Placement) ->
|
||||||
Placement
|
Placement
|
||||||
mntLSOn shapeF mcol ls wallp lsp@(V3 lx ly _) =
|
mntLSOn shapeF ls wallp lsp@(V3 lx ly _) =
|
||||||
ps0jPushPS (PutLabel "light") .
|
ps0jPushPS (PutLabel "light") .
|
||||||
ps0jPushPS (putShape . setCol $ shapeF wallp lsp)
|
ps0jPushPS (putShape $ shapeF wallp lsp)
|
||||||
--ps0j (PutLabel "light") .
|
--ps0j (PutLabel "light") .
|
||||||
--ps0j (putShape . setCol $ shapeF wallp lsp)
|
--ps0j (putShape . setCol $ shapeF wallp lsp)
|
||||||
. pt0 (PutLS $ ls & lsParam . lsPos .~ lsp')
|
. pt0 (PutLS $ ls & lsParam . lsPos .~ lsp')
|
||||||
@@ -52,7 +51,7 @@ mntLSOn shapeF mcol ls wallp lsp@(V3 lx ly _) =
|
|||||||
lsp' = lsp -.-.- V3 x y 1
|
lsp' = lsp -.-.- V3 x y 1
|
||||||
-- hack! perturb the light position
|
-- hack! perturb the light position
|
||||||
V2 x y = rotateV 1 . (0.1 *.*) . normalizeV $ wallp -.- V2 lx ly
|
V2 x y = rotateV 1 . (0.1 *.*) . normalizeV $ wallp -.- V2 lx ly
|
||||||
setCol = maybe id colorSH mcol
|
-- setCol = maybe id colorSH mcol
|
||||||
|
|
||||||
iShape :: Point2 -> Point3 -> Shape
|
iShape :: Point2 -> Point3 -> Shape
|
||||||
iShape wp (V3 x y z) = thinHighBar z wp (V2 x y)
|
iShape wp (V3 x y z) = thinHighBar z wp (V2 x y)
|
||||||
@@ -107,7 +106,7 @@ vShape wallpos (V3 x y z) =
|
|||||||
wallposDown = wallpos -.- n
|
wallposDown = wallpos -.- n
|
||||||
|
|
||||||
mntLS :: (Point2 -> Point3 -> Shape) -> Point2 -> Point3 -> Placement
|
mntLS :: (Point2 -> Point3 -> Shape) -> Point2 -> Point3 -> Placement
|
||||||
mntLS shp wallp lampp = mntLSOn shp Nothing defaultLS wallp lampp (const Nothing)
|
mntLS shp wallp lampp = mntLSOn shp defaultLS wallp lampp (const Nothing)
|
||||||
where
|
where
|
||||||
defaultLS = LS 0 $ LSParam 0 300 0.6
|
defaultLS = LS 0 $ LSParam 0 300 0.6
|
||||||
|
|
||||||
@@ -152,7 +151,7 @@ mntLightLnkCond ps = do
|
|||||||
return $ mntLSCond (fmap (fmap $ colorSH black) shp) ps
|
return $ mntLSCond (fmap (fmap $ colorSH black) shp) ps
|
||||||
|
|
||||||
mntLightLnkShape :: (Point2 -> Point3 -> Shape) -> PlacementSpot -> Placement
|
mntLightLnkShape :: (Point2 -> Point3 -> Shape) -> PlacementSpot -> Placement
|
||||||
mntLightLnkShape shp ps = mntLSCond (fmap (fmap $ colorSH black) shp) ps
|
mntLightLnkShape shp = mntLSCond (fmap (fmap $ colorSH black) shp)
|
||||||
|
|
||||||
mntLightLnkCond' :: PlacementSpot -> Placement
|
mntLightLnkCond' :: PlacementSpot -> Placement
|
||||||
mntLightLnkCond' = mntLSCond (fmap (fmap $ colorSH black) vShape)
|
mntLightLnkCond' = mntLSCond (fmap (fmap $ colorSH black) vShape)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
--{-# LANGUAGE LambdaCase #-}
|
-- {-# LANGUAGE LambdaCase #-}
|
||||||
--{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
|
-- {-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
|
||||||
|
|
||||||
{- | deals with placement of objects within the world
|
{- | deals with placement of objects within the world
|
||||||
after they have had their coordinates set by the layout
|
after they have had their coordinates set by the layout
|
||||||
-}
|
-}
|
||||||
module Dodge.Placement.PlaceSpot (placeSpot) where
|
module Dodge.Placement.PlaceSpot (placeSpot) where
|
||||||
|
|
||||||
--import Control.Monad.State
|
-- import Control.Monad.State
|
||||||
import Control.Monad.Trans.State.Lazy
|
import Control.Monad.Trans.State.Lazy
|
||||||
import Data.Bifunctor
|
import Data.Bifunctor
|
||||||
import Data.Foldable
|
import Data.Foldable
|
||||||
@@ -57,9 +57,7 @@ placePlainPSSpot w rid plmnt shift = case plmnt ^. plType of
|
|||||||
j <- x ^. plExternalID
|
j <- x ^. plExternalID
|
||||||
return $ gw & genPmnt . at j ?~ x
|
return $ gw & genPmnt . at j ?~ x
|
||||||
recrPlace newplmnt w' =
|
recrPlace newplmnt w' =
|
||||||
placeSpot
|
placeSpot rid (w' & genRooms . ix rid . rmPmnts .:~ newplmnt)
|
||||||
rid
|
|
||||||
(w' & genRooms . ix rid . rmPmnts .:~ newplmnt)
|
|
||||||
|
|
||||||
-- this should be tidied up
|
-- this should be tidied up
|
||||||
placeSpotUsingRoomPos ::
|
placeSpotUsingRoomPos ::
|
||||||
@@ -94,7 +92,8 @@ placeSpotRoomRand ::
|
|||||||
placeSpotRoomRand rid i f plmnt w =
|
placeSpotRoomRand rid i f plmnt w =
|
||||||
let (ps, g) =
|
let (ps, g) =
|
||||||
runState
|
runState
|
||||||
(_rmRandPSs (w ^?! genRooms . ix rid) !! i)
|
-- (_rmRandPSs (w ^?! genRooms . ix rid) !! i)
|
||||||
|
(w ^?! genRooms . ix rid . rmRandPSs . ix i)
|
||||||
$ w ^. gwWorld . randGen
|
$ w ^. gwWorld . randGen
|
||||||
in placeSpot rid (w & gwWorld . randGen .~ g) (plmnt & plSpot .~ f ps)
|
in placeSpot rid (w & gwWorld . randGen .~ g) (plmnt & plSpot .~ f ps)
|
||||||
|
|
||||||
@@ -102,46 +101,54 @@ placeSpotRoomRand rid i f plmnt w =
|
|||||||
placeSpotID :: Int -> PlacementSpot -> PSType -> GenWorld -> (Int, GenWorld)
|
placeSpotID :: Int -> PlacementSpot -> PSType -> GenWorld -> (Int, GenWorld)
|
||||||
placeSpotID rid ps pt w = case pt of
|
placeSpotID rid ps pt w = case pt of
|
||||||
PutTrigger cnd -> plNewID (gwWorld . cWorld . lWorld . triggers) cnd w
|
PutTrigger cnd -> plNewID (gwWorld . cWorld . lWorld . triggers) cnd w
|
||||||
PutMod mdi -> plNewUpID (gwWorld . cWorld . lWorld . modifications) mdID mdi w
|
PutMod mdi ->
|
||||||
PutProp prp -> plNewUpID (gwWorld . cWorld . lWorld . props) prID (mvProp p rot prp) w
|
plNewUpID (gwWorld . cWorld . lWorld . modifications) mdID mdi w
|
||||||
|
PutProp prp ->
|
||||||
|
plNewUpID (gwWorld . cWorld . lWorld . props) prID (mvProp p rot prp) w
|
||||||
PutButton bt ->
|
PutButton bt ->
|
||||||
plNewUpID
|
plNewUpID (gwWorld . cWorld . lWorld . buttons) btID (mvButton p rot bt) w
|
||||||
(gwWorld . cWorld . lWorld . buttons)
|
|
||||||
btID
|
|
||||||
(mvButton p rot bt)
|
|
||||||
w
|
|
||||||
PutTerminal tm -> plNewUpID (gwWorld . cWorld . lWorld . terminals) tmID tm w
|
PutTerminal tm -> plNewUpID (gwWorld . cWorld . lWorld . terminals) tmID tm w
|
||||||
PutFlIt itm ->
|
PutFlIt itm ->
|
||||||
let i = IM.newKey (w ^. gwWorld . cWorld . lWorld . items)
|
let i = IM.newKey (w ^. gwWorld . cWorld . lWorld . items)
|
||||||
in ( i
|
in ( i
|
||||||
, w
|
, w
|
||||||
& gwWorld . cWorld . lWorld . floorItems . at i ?~ FlIt p rot
|
& gwWorld
|
||||||
& gwWorld . cWorld . lWorld . items . at i
|
. cWorld
|
||||||
?~ ( itm & itID .~ NInt i
|
. lWorld
|
||||||
& itLocation .~ OnFloor
|
. floorItems
|
||||||
)
|
. at i
|
||||||
|
?~ FlIt p rot
|
||||||
|
& gwWorld
|
||||||
|
. cWorld
|
||||||
|
. lWorld
|
||||||
|
. items
|
||||||
|
. at i
|
||||||
|
?~ (itm & itID .~ NInt i & itLocation .~ OnFloor)
|
||||||
)
|
)
|
||||||
PutCrit cr -> plNewUpID (gwWorld . cWorld . lWorld . creatures) crID (mvCr p rot cr) w
|
PutCrit cr -> plNewUpID (gwWorld . cWorld . lWorld . creatures) crID (mvCr p rot cr) w
|
||||||
PutForeground fs ->
|
PutForeground fs ->
|
||||||
(0, w & gwWorld . cWorld . lWorld . foreShapes .:~ mvFS p rot fs)
|
(0, w & gwWorld . cWorld . lWorld . foreShapes .:~ mvFS p rot fs)
|
||||||
PutMachine pps mc mitm -> plMachine (map doShift pps) mc mitm p rot w
|
PutMachine pps mc mitm -> plMachine (map doShift pps) mc mitm p rot w
|
||||||
PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p rot ls) w
|
PutLS ls -> plNewUpID (gwWorld . cWorld . lWorld . lightSources) lsID (mvLS p rot ls) w
|
||||||
RandPS _ -> error "RandPS should not be reachable here" --evaluateRandPS rid rgn ps w
|
RandPS _ -> error "RandPS should not be reachable here" -- evaluateRandPS rid rgn ps w
|
||||||
PutDoor dr wl -> plDoor (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
|
PutDoor dr wl -> plDoor (dr & drZeroPos %~ pashift & drOnePos %~ pashift) wl w
|
||||||
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
|
PutCoord cp -> plNewID (gwWorld . coordinates) (doShift cp) w
|
||||||
PutBlock bl wl ps' ->
|
PutBlock bl wl ps' ->
|
||||||
plBlock
|
plBlock (map doShift ps') (bl & blPos %~ doShift & blDir .~ rot) wl w
|
||||||
(map doShift ps')
|
|
||||||
(bl & blPos %~ doShift & blDir .~ rot)
|
|
||||||
wl
|
|
||||||
w
|
|
||||||
PutLineBlock wl wdth a b -> plLineBlock wl wdth (doShift a) (doShift b) w
|
PutLineBlock wl wdth a b -> plLineBlock wl wdth (doShift a) (doShift b) w
|
||||||
PutWall qs wl -> (0, over gwWorld (placeWallPoly (map doShift qs) wl) w)
|
PutWall qs wl -> (0, over gwWorld (placeWallPoly (map doShift qs) wl) w)
|
||||||
PutNothing -> (0, w)
|
PutNothing -> (0, w)
|
||||||
PutID i -> (i, w)
|
PutID i -> (i, w)
|
||||||
PutWorldUpdate f -> (0, w & f rid ps)
|
PutWorldUpdate f -> (0, w & f rid ps)
|
||||||
PutChasm ps' qs -> (0, placeChasm w rid ps' (map (map doShift) ps')
|
PutChasm ps' qs ->
|
||||||
(foldMap loopPairs (map (map doShift) qs)))
|
( 0
|
||||||
|
, placeChasm
|
||||||
|
w
|
||||||
|
rid
|
||||||
|
ps'
|
||||||
|
(map (map doShift) ps')
|
||||||
|
(foldMap (loopPairs . map doShift) qs)
|
||||||
|
)
|
||||||
PutLabel{} -> (0, w)
|
PutLabel{} -> (0, w)
|
||||||
where
|
where
|
||||||
p = _psPos ps
|
p = _psPos ps
|
||||||
@@ -149,14 +156,15 @@ placeSpotID rid ps pt w = case pt of
|
|||||||
doShift = shiftPointBy (p, rot)
|
doShift = shiftPointBy (p, rot)
|
||||||
pashift = compP2A (p, rot)
|
pashift = compP2A (p, rot)
|
||||||
|
|
||||||
placeChasm :: GenWorld -> Int -> [[Point2]] -> [[Point2]] -> [(Point2,Point2)] -> GenWorld
|
placeChasm :: GenWorld -> Int -> [[Point2]] -> [[Point2]] -> [(Point2, Point2)] -> GenWorld
|
||||||
placeChasm gw rid ps shiftps cfs =
|
placeChasm gw rid ps shiftps cfs =
|
||||||
gw & gwWorld . cWorld . chasms <>~ shiftps
|
gw
|
||||||
|
& gwWorld . cWorld . chasms <>~ shiftps
|
||||||
& gwWorld . cWorld . cliffs <>~ cfs
|
& gwWorld . cWorld . cliffs <>~ cfs
|
||||||
& genRooms . ix rid . rmPos %~ filter (\rp -> not $ any (pointInPoly (_rpPos rp)) ps)
|
& genRooms . ix rid . rmPos %~ filter (\rp -> not $ any (pointInPoly (_rpPos rp)) ps)
|
||||||
& gwWorld %~ f
|
& gwWorld %~ f
|
||||||
where
|
where
|
||||||
--f w = foldl' g w (loopPairs shiftps)
|
-- f w = foldl' g w (loopPairs shiftps)
|
||||||
f w = foldl' g w cfs
|
f w = foldl' g w cfs
|
||||||
g w (x, y) = obstructPathsCrossing (S.singleton ChasmObstacle) x y w
|
g w (x, y) = obstructPathsCrossing (S.singleton ChasmObstacle) x y w
|
||||||
|
|
||||||
@@ -171,19 +179,16 @@ addPane wl w l = insertWall (wl & wlLine .~ l & wlID .~ i) w
|
|||||||
i = IM.newKey $ w ^. cWorld . lWorld . walls
|
i = IM.newKey $ w ^. cWorld . lWorld . walls
|
||||||
|
|
||||||
mvProp :: Point2 -> Float -> Prop -> Prop
|
mvProp :: Point2 -> Float -> Prop -> Prop
|
||||||
mvProp p a = (prRot +~ a) . (prPos %~ ((p +.+) . rotateV a))
|
mvProp p a = (prRot +~ a) . (prPos %~ ((p +) . rotateV a))
|
||||||
|
|
||||||
mvButton :: Point2 -> Float -> Button -> Button
|
mvButton :: Point2 -> Float -> Button -> Button
|
||||||
mvButton p a = (btRot +~ a) . (btPos %~ ((p +.+) . rotateV a))
|
mvButton p a = (btRot +~ a) . (btPos %~ ((p +) . rotateV a))
|
||||||
|
|
||||||
mvCr :: Point2 -> Float -> Creature -> Creature
|
mvCr :: Point2 -> Float -> Creature -> Creature
|
||||||
mvCr p rot =
|
mvCr p rot = (crPos . _xy .~ p) . (crOldPos . _xy .~ p) . (crDir .~ rot)
|
||||||
(crPos . _xy .~ p)
|
|
||||||
. (crOldPos . _xy .~ p)
|
|
||||||
. (crDir .~ rot)
|
|
||||||
|
|
||||||
mvFS :: Point2 -> Float -> ForegroundShape -> ForegroundShape
|
mvFS :: Point2 -> Float -> ForegroundShape -> ForegroundShape
|
||||||
mvFS p a = (fsDir +~ a) . (fsPos %~ ((p +.+) . rotateV a))
|
mvFS p a = (fsDir +~ a) . (fsPos %~ ((p +) . rotateV a))
|
||||||
|
|
||||||
plMachine ::
|
plMachine ::
|
||||||
[Point2] ->
|
[Point2] ->
|
||||||
@@ -195,7 +200,8 @@ plMachine ::
|
|||||||
(Int, GenWorld)
|
(Int, GenWorld)
|
||||||
plMachine wallpoly mc mitm p rot gw =
|
plMachine wallpoly mc mitm p rot gw =
|
||||||
( mcid
|
( mcid
|
||||||
, gw & tolw . machines . at mcid ?~ themc
|
, gw
|
||||||
|
& tolw . machines . at mcid ?~ themc
|
||||||
& gwWorld %~ placeMachineWalls (_mcMaterial mc) wallpoly mcid wlid
|
& gwWorld %~ placeMachineWalls (_mcMaterial mc) wallpoly mcid wlid
|
||||||
& tolw %~ maybe id placeturretitm mitm
|
& tolw %~ maybe id placeturretitm mitm
|
||||||
)
|
)
|
||||||
@@ -215,8 +221,9 @@ plMachine wallpoly mc mitm p rot gw =
|
|||||||
placeMachineWalls :: Material -> [Point2] -> Int -> Int -> World -> World
|
placeMachineWalls :: Material -> [Point2] -> Int -> Int -> World -> World
|
||||||
placeMachineWalls mat poly mcid = insertStructureWalls MachinePart baseWall poly mcid
|
placeMachineWalls mat poly mcid = insertStructureWalls MachinePart baseWall poly mcid
|
||||||
where
|
where
|
||||||
baseWall = defaultMachineWall & wlStructure . wsMachine .~ mcid
|
baseWall = defaultMachineWall
|
||||||
|
& wlStructure . wsMachine .~ mcid
|
||||||
& wlMaterial .~ mat
|
& wlMaterial .~ mat
|
||||||
|
|
||||||
mvLS :: Point2 -> Float -> LightSource -> LightSource
|
mvLS :: Point2 -> Float -> LightSource -> LightSource
|
||||||
mvLS x rot = lsParam . lsPos . _xy %~ ((+x) . rotateV rot)
|
mvLS x rot = lsParam . lsPos . _xy %~ ((+ x) . rotateV rot)
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ decontamRoom i =
|
|||||||
& rmInPmnt .~ [(0, return . f)]
|
& rmInPmnt .~ [(0, return . f)]
|
||||||
& rmBound .~ [rectNSWE 75 15 0 40, switchcut]
|
& rmBound .~ [rectNSWE 75 15 0 40, switchcut]
|
||||||
where
|
where
|
||||||
dr1 btid = defaultDoor & drTrigger .~ (WdBlNegate $ WdBlBtOn btid)
|
dr1 btid = defaultDoor & drTrigger .~ WdBlNegate (WdBlBtOn btid)
|
||||||
dr2 btid = defaultDoor & drTrigger .~ (WdBlBtOn btid)
|
dr2 btid = defaultDoor & drTrigger .~ WdBlBtOn btid
|
||||||
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||||
pmnt <- gw ^? genPmnt . ix i
|
pmnt <- gw ^? genPmnt . ix i
|
||||||
return $
|
return $
|
||||||
@@ -94,8 +94,8 @@ airlock0 =
|
|||||||
, _rmBound = [rectNSWE 75 15 0 40, switchcut]
|
, _rmBound = [rectNSWE 75 15 0 40, switchcut]
|
||||||
}
|
}
|
||||||
where
|
where
|
||||||
dr1 btid = defaultDoor & drTrigger .~ (WdBlNegate $ WdBlBtOn btid)
|
dr1 btid = defaultDoor & drTrigger .~ WdBlNegate (WdBlBtOn btid)
|
||||||
dr2 btid = defaultDoor & drTrigger .~ (WdBlBtOn btid)
|
dr2 btid = defaultDoor & drTrigger .~ WdBlBtOn btid
|
||||||
switchcut = rectNSWE 65 35 (-40) 20
|
switchcut = rectNSWE 65 35 (-40) 20
|
||||||
lnks =
|
lnks =
|
||||||
[ (V2 20 95, 0)
|
[ (V2 20 95, 0)
|
||||||
|
|||||||
@@ -44,5 +44,5 @@ triggerDoorRoom i =
|
|||||||
f gw = return $ 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
|
pmnt <- gw ^? genPmnt . ix i
|
||||||
return $ putDoubleDoor defaultDoorWall (V2 0 20) (V2 40 20)
|
return $ putDoubleDoor defaultDoorWall (V2 0 20) (V2 40 20)
|
||||||
(defaultDoor & drTrigger .~ (cond pmnt))
|
(defaultDoor & drTrigger .~ cond pmnt)
|
||||||
cond pmnt = WdTrig $ fromJust (_plMID pmnt)
|
cond pmnt = WdTrig $ fromJust (_plMID pmnt)
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ girderZ h d w x y =
|
|||||||
[ thinHighBar h xt yt
|
[ thinHighBar h xt yt
|
||||||
, thinHighBar h xb yb
|
, thinHighBar h xb yb
|
||||||
]
|
]
|
||||||
<> zipWith (thinHighBar (h )) ps qs
|
<> zipWith (thinHighBar (h-1)) ps qs
|
||||||
where
|
where
|
||||||
n = w *.* normalizeV (vNormal $ y -.- x)
|
n = w *.* normalizeV (vNormal $ y -.- x)
|
||||||
xb = x +.+ n
|
xb = x +.+ n
|
||||||
|
|||||||
+26
-26
@@ -49,7 +49,7 @@ import Shape
|
|||||||
|
|
||||||
-- no lights!
|
-- no lights!
|
||||||
cenLasTur :: (RandomGen g) => State g Room
|
cenLasTur :: (RandomGen g) => State g Room
|
||||||
cenLasTur = do
|
cenLasTur =
|
||||||
roomNgon 8 200
|
roomNgon 8 200
|
||||||
<&> rmPmnts
|
<&> rmPmnts
|
||||||
.~ [ putLasTurret 0.02
|
.~ [ putLasTurret 0.02
|
||||||
@@ -168,7 +168,7 @@ lasCenSensEdge n = do
|
|||||||
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
||||||
let alight a rp = mntLSCond (fmap (fmap $ colorSH black) lshape) (PS (rotateV a $ _rpPos rp) (a + _rpDir rp))
|
let alight a rp = mntLSCond (fmap (fmap $ colorSH black) lshape) (PS (rotateV a $ _rpPos rp) (a + _rpDir rp))
|
||||||
blight a = (0, return . 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 cenroom = cenroom' & rmInPmnt <>~ map blight [pi, 0.5 * pi, 1.5 * pi]
|
||||||
let doorroom = triggerDoorRoom n
|
let doorroom = triggerDoorRoom n
|
||||||
rToOnward "lasCenSensEdge" $
|
rToOnward "lasCenSensEdge" $
|
||||||
treeFromTrunk [door] $
|
treeFromTrunk [door] $
|
||||||
@@ -194,7 +194,7 @@ lasRunYinYang = do
|
|||||||
const
|
const
|
||||||
. ( \rp ->
|
. ( \rp ->
|
||||||
PolyEdge ((npoly + 1) `div` 4)
|
PolyEdge ((npoly + 1) `div` 4)
|
||||||
`S.member` (fold $ rp ^? rpType . rplsType)
|
`S.member` fold (rp ^? rpType . rplsType)
|
||||||
)
|
)
|
||||||
thelight3 <-
|
thelight3 <-
|
||||||
mntLightLnkCond $
|
mntLightLnkCond $
|
||||||
@@ -202,7 +202,7 @@ lasRunYinYang = do
|
|||||||
const
|
const
|
||||||
. ( \rp ->
|
. ( \rp ->
|
||||||
PolyEdge (3 * (npoly + 1) `div` 4)
|
PolyEdge (3 * (npoly + 1) `div` 4)
|
||||||
`S.member` (fold $ rp ^? rpType . rplsType)
|
`S.member` fold (rp ^? rpType . rplsType)
|
||||||
)
|
)
|
||||||
r <-
|
r <-
|
||||||
shuffleLinks
|
shuffleLinks
|
||||||
@@ -231,16 +231,16 @@ lasRunYinYang = do
|
|||||||
)
|
)
|
||||||
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
||||||
where
|
where
|
||||||
awall x v = heightWallPS (PS x 0) 30 v
|
awall x = heightWallPS (PS x 0) 30
|
||||||
-- angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi/4 + a/2)) $ rectWH 5 (25 - a*10/pi ))
|
-- angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi/4 + a/2)) $ rectWH 5 (25 - a*10/pi ))
|
||||||
rf = 0.8
|
rf = 0.8
|
||||||
offxy = V2 0 (-100)
|
offxy = V2 0 (-100)
|
||||||
angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi / 4 + a * rf)) $ rectWH 5 (23 - a * 13 / pi))
|
angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (rotateV (pi / 4 + a * rf) <$> rectWH 5 (23 - a * 13 / pi))
|
||||||
apath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 100 + rotateV a (V2 0 100))
|
apath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 100 + rotateV a (V2 0 100))
|
||||||
where
|
where
|
||||||
a = a' + pi / 16
|
a = a' + pi / 16
|
||||||
f = rotateV (pi / 4 + a * 0.8)
|
f = rotateV (pi / 4 + a * 0.8)
|
||||||
bngwall a = awall (V2 0 (-100) + rotateV a (V2 0 (-100))) (fmap (rotateV (pi / 4 + a * rf)) $ rectWH 5 (23 - a * 13 / pi))
|
bngwall a = awall (V2 0 (-100) + rotateV a (V2 0 (-100))) (rotateV (pi / 4 + a * rf) <$> rectWH 5 (23 - a * 13 / pi))
|
||||||
bpath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 (-100) + rotateV a (V2 0 (-100)))
|
bpath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 (-100) + rotateV a (V2 0 (-100)))
|
||||||
where
|
where
|
||||||
a = a' + pi / 16
|
a = a' + pi / 16
|
||||||
@@ -257,7 +257,7 @@ lasRunYinYangCenter = do
|
|||||||
const
|
const
|
||||||
. ( \rp ->
|
. ( \rp ->
|
||||||
PolyEdge ((npoly + 1) `div` 4)
|
PolyEdge ((npoly + 1) `div` 4)
|
||||||
`S.member` (fold $ rp ^? rpType . rplsType)
|
`S.member` fold (rp ^? rpType . rplsType)
|
||||||
)
|
)
|
||||||
thelight3 <-
|
thelight3 <-
|
||||||
mntLightLnkCond $
|
mntLightLnkCond $
|
||||||
@@ -265,7 +265,7 @@ lasRunYinYangCenter = do
|
|||||||
const
|
const
|
||||||
. ( \rp ->
|
. ( \rp ->
|
||||||
PolyEdge (3 * (npoly + 1) `div` 4)
|
PolyEdge (3 * (npoly + 1) `div` 4)
|
||||||
`S.member` (fold $ rp ^? rpType . rplsType)
|
`S.member` fold (rp ^? rpType . rplsType)
|
||||||
)
|
)
|
||||||
-- thelight3 <- mntLightLnkCond $ rprBool $ const . isOutLnk
|
-- thelight3 <- mntLightLnkCond $ rprBool $ const . isOutLnk
|
||||||
r <-
|
r <-
|
||||||
@@ -293,14 +293,14 @@ lasRunYinYangCenter = do
|
|||||||
)
|
)
|
||||||
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
||||||
where
|
where
|
||||||
awall x v = heightWallPS (PS x 0) 30 v
|
awall x = heightWallPS (PS x 0) 30
|
||||||
-- angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi/4 + a/2)) $ rectWH 5 (25 - a*10/pi ))
|
-- angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi/4 + a/2)) $ rectWH 5 (25 - a*10/pi ))
|
||||||
angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (fmap (rotateV (pi / 4 + a * 0.8)) $ rectWH 5 (23 - a * 13 / pi))
|
angwall a = awall (V2 0 100 + rotateV a (V2 0 100)) (rotateV (pi / 4 + a * 0.8) <$> rectWH 5 (23 - a * 13 / pi))
|
||||||
apath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 100 + rotateV a (V2 0 100))
|
apath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 100 + rotateV a (V2 0 100))
|
||||||
where
|
where
|
||||||
a = a' + pi / 16
|
a = a' + pi / 16
|
||||||
f = rotateV (pi / 4 + a * 0.8)
|
f = rotateV (pi / 4 + a * 0.8)
|
||||||
bngwall a = awall (V2 0 (-100) + rotateV a (V2 0 (-100))) (fmap (rotateV (pi / 4 + a * 0.8)) $ rectWH 5 (23 - a * 13 / pi))
|
bngwall a = awall (V2 0 (-100) + rotateV a (V2 0 (-100))) (rotateV (pi / 4 + a * 0.8) <$> rectWH 5 (23 - a * 13 / pi))
|
||||||
bpath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 (-100) + rotateV a (V2 0 (-100)))
|
bpath a' = addNodesCrossing $ (\x -> (x + f (V2 0 100), x - f (V2 0 100))) (V2 0 (-100) + rotateV a (V2 0 (-100)))
|
||||||
where
|
where
|
||||||
a = a' + pi / 16
|
a = a' + pi / 16
|
||||||
@@ -334,24 +334,24 @@ lasCenRunClose' = do
|
|||||||
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
rToOnward "lasCenRunClose" $ return $ cleatOnward r
|
||||||
where
|
where
|
||||||
swall =
|
swall =
|
||||||
[ (70, (rectNSWE 10 (-10) (-10) 30))
|
[ (70, rectNSWE 10 (-10) (-10) 30)
|
||||||
, (125, (rectNSWE 55 (-55) (-10) 10))
|
, (125, rectNSWE 55 (-55) (-10) 10)
|
||||||
, (180, (rectNSWE 10 (-10) (-30) 10))
|
, (180, rectNSWE 10 (-10) (-30) 10)
|
||||||
]
|
]
|
||||||
zwall =
|
zwall =
|
||||||
[ (70, (rectNSWE 10 (-10) (-30) 10))
|
[ (70, rectNSWE 10 (-10) (-30) 10)
|
||||||
, (125, (rectNSWE 55 (-55) (-10) 10))
|
, (125, rectNSWE 55 (-55) (-10) 10)
|
||||||
, (180, (rectNSWE 10 (-10) (-10) 30))
|
, (180, rectNSWE 10 (-10) (-10) 30)
|
||||||
]
|
]
|
||||||
iwall =
|
iwall =
|
||||||
[ (70, (rectNSWE 10 (-10) (-15) 20))
|
[ (70, rectNSWE 10 (-10) (-15) 20)
|
||||||
, (180, (rectNSWE 10 (-10) (-30) (-5)))
|
, (180, rectNSWE 10 (-10) (-30) (-5))
|
||||||
]
|
]
|
||||||
jwall =
|
jwall =
|
||||||
[ (70, (rectNSWE 10 (-10) (-20) 15))
|
[ (70, rectNSWE 10 (-10) (-20) 15)
|
||||||
, (180, (rectNSWE 10 (-10) 5 30))
|
, (180, rectNSWE 10 (-10) 5 30)
|
||||||
]
|
]
|
||||||
uwall = [(180, (rectNSWE 10 (-10) (-20) 20))]
|
uwall = [(180, rectNSWE 10 (-10) (-20) 20)]
|
||||||
obwalls = [swall, zwall, iwall, jwall, uwall]
|
obwalls = [swall, zwall, iwall, jwall, uwall]
|
||||||
linkwall f x =
|
linkwall f x =
|
||||||
heightWallPS
|
heightWallPS
|
||||||
@@ -390,7 +390,7 @@ lasCenRunCloseLongCor = do
|
|||||||
where
|
where
|
||||||
llinks = memtest (FromEdge South 1) (OnEdge West)
|
llinks = memtest (FromEdge South 1) (OnEdge West)
|
||||||
rlinks = memtest (FromEdge South 1) (OnEdge East)
|
rlinks = memtest (FromEdge South 1) (OnEdge East)
|
||||||
awall x v = heightWallPS (PS x 0) 30 v
|
awall x = heightWallPS (PS x 0) 30
|
||||||
memtest a b x =
|
memtest a b x =
|
||||||
let y = _rlType x
|
let y = _rlType x
|
||||||
in a `S.member` y && b `S.member` y
|
in a `S.member` y && b `S.member` y
|
||||||
@@ -459,7 +459,7 @@ lasCenRunClose1 = do
|
|||||||
etest
|
etest
|
||||||
(memtest (FromEdge East 0) (OnEdge South))
|
(memtest (FromEdge East 0) (OnEdge South))
|
||||||
(memtest (FromEdge South 0) (OnEdge East))
|
(memtest (FromEdge South 0) (OnEdge East))
|
||||||
awall x v = heightWallPS (PS x 0) 30 v
|
awall x = heightWallPS (PS x 0) 30
|
||||||
etest f g x = f x || g x
|
etest f g x = f x || g x
|
||||||
memtest a b x =
|
memtest a b x =
|
||||||
let y = _rlType x
|
let y = _rlType x
|
||||||
@@ -500,7 +500,7 @@ lasCenRunClose2 = do
|
|||||||
etest
|
etest
|
||||||
(memtest (FromEdge East 0) (OnEdge North))
|
(memtest (FromEdge East 0) (OnEdge North))
|
||||||
(memtest (FromEdge North 0) (OnEdge East))
|
(memtest (FromEdge North 0) (OnEdge East))
|
||||||
awall x v = heightWallPS (PS x 0) 30 v
|
awall x = heightWallPS (PS x 0) 30
|
||||||
etest f g x = f x || g x
|
etest f g x = f x || g x
|
||||||
memtest a b x =
|
memtest a b x =
|
||||||
let y = _rlType x
|
let y = _rlType x
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ addButtonSlowDoor x h =
|
|||||||
30
|
30
|
||||||
(V2 0 h)
|
(V2 0 h)
|
||||||
(V2 x h)
|
(V2 x h)
|
||||||
(defaultDoor & drTrigger .~ (WdBlBtOn $ fromJust $ _plMID btplmnt)
|
(defaultDoor & drTrigger .~ WdBlBtOn (fromJust $ _plMID btplmnt)
|
||||||
& drUpdate . drLerpSpeed .~ 0.5)
|
& drUpdate . drLerpSpeed .~ 0.5)
|
||||||
$ \dr1 dr2 ->
|
$ \dr1 dr2 ->
|
||||||
Just
|
Just
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ addLightsNGon rm = do
|
|||||||
x = y * tan (0.5 * a)
|
x = y * tan (0.5 * a)
|
||||||
f i gw = do
|
f i gw = do
|
||||||
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
lshape <- takeOne [vShape, lShape, jShape, liShape]
|
||||||
let ps = fromMaybe (PS (V2 y 0) 0) $ rpToPS <$> find iscolorlight (grm ^. rmPos)
|
let ps = maybe (PS (V2 y 0) 0) rpToPS $ find iscolorlight (grm ^. rmPos)
|
||||||
alight a' = mntLSCond (fmap (fmap $ colorSH black) lshape) (rotateps a' ps)
|
alight a' = mntLSCond (fmap (fmap $ colorSH black) lshape) (rotateps a' ps)
|
||||||
takeOne
|
takeOne
|
||||||
[ spanLightY (V2 0 0) (V2 y x) (V2 (x) y) (V2 (x) (-y))
|
[ 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))
|
, spanLightY (V2 20 20) (V2 y 20) (V2 (-y) 20) (V2 20 (-y))
|
||||||
, spanLightI (V2 22 y) (V2 22 (-y))
|
, spanLightI (V2 22 y) (V2 22 (-y))
|
||||||
, spanLightI (V2 x y) (V2 (-x) (-y))
|
, spanLightI (V2 x y) (V2 (-x) (-y))
|
||||||
@@ -61,7 +61,7 @@ addLightsNGon rm = do
|
|||||||
grm = getRoomFromID i gw
|
grm = getRoomFromID i gw
|
||||||
rotateps a' (PS v d) = PS (rotateV a' v) (a' + d)
|
rotateps a' (PS v d) = PS (rotateV a' v) (a' + d)
|
||||||
rotateps _ _ = error "in addLightsNGon"
|
rotateps _ _ = error "in addLightsNGon"
|
||||||
rpToPS rp = (PS (_rpPos rp) (_rpDir rp))
|
rpToPS rp = PS (_rpPos rp) (_rpDir rp)
|
||||||
iscolorlight rp =
|
iscolorlight rp =
|
||||||
(ColoredLightRP `S.member` (rp ^. rpFlags))
|
(ColoredLightRP `S.member` (rp ^. rpFlags))
|
||||||
&& islinkroompos rp
|
&& islinkroompos rp
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ roomPillarsSquare = do
|
|||||||
[ mntLS
|
[ mntLS
|
||||||
vShape
|
vShape
|
||||||
(rotateVAround (V2 150 150) a (V2 30 30))
|
(rotateVAround (V2 150 150) a (V2 30 30))
|
||||||
(_xy %~ (rotateVAround (V2 150 150) a) $ V3 60 60 95)
|
(_xy %~ rotateVAround (V2 150 150) a $ V3 60 60 95)
|
||||||
| a <- [0, pi / 2, pi, 3 * pi / 2]
|
| a <- [0, pi / 2, pi, 3 * pi / 2]
|
||||||
]
|
]
|
||||||
, return
|
, return
|
||||||
@@ -70,7 +70,7 @@ roomPillarsSquare = do
|
|||||||
[ mntLS
|
[ mntLS
|
||||||
vShape
|
vShape
|
||||||
(rotateVAround (V2 150 150) a (V2 150 0))
|
(rotateVAround (V2 150 150) a (V2 150 0))
|
||||||
(_xy %~ (rotateVAround (V2 150 150) a) $ V3 150 20 95)
|
(_xy %~ rotateVAround (V2 150 150) a $ V3 150 20 95)
|
||||||
| a <- [0, pi / 2, pi, 3 * pi / 2]
|
| a <- [0, pi / 2, pi, 3 * pi / 2]
|
||||||
]
|
]
|
||||||
, addGirderLights . set rmPmnts []
|
, addGirderLights . set rmPmnts []
|
||||||
|
|||||||
+13
-13
@@ -8,7 +8,6 @@ import Control.Monad
|
|||||||
import qualified Data.IntMap.Strict as IM
|
import qualified Data.IntMap.Strict as IM
|
||||||
import qualified Data.IntSet as IS
|
import qualified Data.IntSet as IS
|
||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
import Data.Maybe (mapMaybe)
|
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import Dodge.Cleat
|
import Dodge.Cleat
|
||||||
import Dodge.Data.AmmoType
|
import Dodge.Data.AmmoType
|
||||||
@@ -304,20 +303,21 @@ chasmSpitTerminal = do
|
|||||||
l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East North
|
l3 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East North
|
||||||
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East South
|
l4 = mntLightLnkShape shp $ resetPLUse $ rprBool $ \rp _ -> f rp East South
|
||||||
ls <- takeOne [[l1,l2],[l3,l4]
|
ls <- takeOne [[l1,l2],[l3,l4]
|
||||||
--j ,[spanLightI (V2 120 0) (V2 120 300)]
|
,[spanLightI (V2 120 0) (V2 120 300)]
|
||||||
--j , [spanLightI (V2 0 128) (V2 300 128)]
|
, [spanLightI (V2 0 128) (V2 300 128)]
|
||||||
--j , [spanLightI (V2 300 0) (V2 0 300), sps0 $ putShape $ thinHighBar 95 0 300]
|
, [spanLightI (V2 300 0) (V2 0 300), sps0 $ putShape $ thinHighBar 95 0 300]
|
||||||
]
|
]
|
||||||
gh <- takeOne [55,75,97]
|
gh <- takeOne [55,75,97]
|
||||||
gird <- takeOne [girderZ gh 30 10,girder gh 30 10,girderV gh 30 10]
|
gird <- takeOne [girderZ gh 30 10,girder gh 30 10,girderV gh 30 10]
|
||||||
dec <- takeOne $ -- replicate 3 [] <>
|
dec <- takeOne $ replicate 3 [] <>
|
||||||
[--[]
|
[[sps0 $ putShape $ gird (V2 30 0) (V2 30 300)]
|
||||||
-- ,[sps0 $ putShape $ gird (V2 30 0) (V2 30 300)
|
,[sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
|
||||||
-- ,sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
|
,[sps0 $ putShape $ gird (V2 30 0) (V2 30 300),sps0 $ putShape $ gird (V2 270 0) (V2 270 300)]
|
||||||
-- ,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20)]
|
,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20)]
|
||||||
[sps0 $ putShape $ gird (V2 0 200) (V2 300 200)]
|
,[sps0 $ putShape $ gird (V2 0 200) (V2 300 200)]
|
||||||
|
,[sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
|
||||||
|
,[sps0 $ putShape $ gird (V2 0 20) (V2 300 20),sps0 $ putShape $ gird (V2 0 280) (V2 300 280)]
|
||||||
]
|
]
|
||||||
-- let y' = y & rmPmnts <>~ [l3, l4, l5]
|
|
||||||
let y' = y & rmPmnts <>~ ls <> dec
|
let y' = y & rmPmnts <>~ ls <> dec
|
||||||
return $
|
return $
|
||||||
tToBTree "chasmTerm" $
|
tToBTree "chasmTerm" $
|
||||||
@@ -328,8 +328,8 @@ chasmSpitTerminal = do
|
|||||||
, return $ cleatOnward $ triggerDoorRoom i1
|
, return $ cleatOnward $ triggerDoorRoom i1
|
||||||
]
|
]
|
||||||
where
|
where
|
||||||
f rp a b = FromEdge a 2 `S.member` (fold $ rp ^? rpType . rplsType)
|
f rp a b = FromEdge a 2 `S.member` fold (rp ^? rpType . rplsType)
|
||||||
&& OnEdge b `S.member` (fold $ rp ^? rpType . rplsType)
|
&& OnEdge b `S.member` fold (rp ^? rpType . rplsType)
|
||||||
|
|
||||||
polyChasm :: Int -> Float -> State LayoutVars Room
|
polyChasm :: Int -> Float -> State LayoutVars Room
|
||||||
polyChasm n x =
|
polyChasm n x =
|
||||||
|
|||||||
+1
-1
@@ -336,7 +336,7 @@ muzzleWallCheck w cr = fromMaybe cr $ do
|
|||||||
else let v = minimumBy (compare `on` norm) vs
|
else let v = minimumBy (compare `on` norm) vs
|
||||||
in cr & crPos . _xy +~ normalize v
|
in cr & crPos . _xy +~ normalize v
|
||||||
where
|
where
|
||||||
f loc = map (muzzlePos loc cr) (itemMuzzles $ loc)
|
f loc = map (muzzlePos loc cr) (itemMuzzles loc)
|
||||||
g cp wls p = case collidePoint cp p wls of
|
g cp wls p = case collidePoint cp p wls of
|
||||||
(ep,Just _) -> Just (ep - p)
|
(ep,Just _) -> Just (ep - p)
|
||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
|
|||||||
@@ -221,20 +221,12 @@ rotateToOverlappingWall w =
|
|||||||
(overlapCircWallsClosest p r (filter _wlRotateTo $ wlsNearCirc p r w))
|
(overlapCircWallsClosest p r (filter _wlRotateTo $ wlsNearCirc p r w))
|
||||||
w
|
w
|
||||||
where
|
where
|
||||||
r = (crRad (cr ^. crType) + 10)
|
r = crRad (cr ^. crType) + 10
|
||||||
cr = you w
|
cr = you w
|
||||||
p = you w ^. crPos . _xy
|
p = you w ^. crPos . _xy
|
||||||
|
|
||||||
doWallRotate :: Wall -> World -> World
|
doWallRotate :: Wall -> World -> World
|
||||||
doWallRotate = rotateTo8 . argV . uncurry (-) . _wlLine
|
doWallRotate = rotateTo8 . argV . uncurry (-) . _wlLine
|
||||||
--doWallRotate wl w = rotateTo8
|
|
||||||
-- | b - b' > 0.01 = w & wCam . camRot +~ 0.01
|
|
||||||
-- | b - b' < negate 0.01 = w & wCam . camRot -~ 0.01
|
|
||||||
-- | otherwise = w
|
|
||||||
-- where
|
|
||||||
-- a = argV (uncurry (-.-) $ _wlLine wl) - w ^. wCam . camRot
|
|
||||||
-- b = a * (4 / pi) -- for 8 way cardinal orientation wrt wall
|
|
||||||
-- b' = fromIntegral (round b :: Int)
|
|
||||||
|
|
||||||
clipZoom ::
|
clipZoom ::
|
||||||
-- | Furthest viewable distance
|
-- | Furthest viewable distance
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ noclipCheck cfig w c
|
|||||||
| debugOn Noclip cfig && _crID c == 0 = c -- for noclip
|
| debugOn Noclip cfig && _crID c == 0 = c -- for noclip
|
||||||
| otherwise = colCrWall w c
|
| otherwise = colCrWall w c
|
||||||
|
|
||||||
-- no noclip check, so no need for a configuration file
|
|
||||||
colCrWall :: World -> Creature -> Creature
|
colCrWall :: World -> Creature -> Creature
|
||||||
colCrWall w c
|
colCrWall w c
|
||||||
| p1 == p2 = pushOrCrush ls c
|
| p1 == p2 = pushOrCrush ls c
|
||||||
@@ -47,7 +46,8 @@ colCrWall w c
|
|||||||
p2 = c ^. crPos . _xy
|
p2 = c ^. crPos . _xy
|
||||||
ls = _wlLine <$> wls
|
ls = _wlLine <$> wls
|
||||||
ls' = filter (uncurry $ isLHS p1) ls
|
ls' = filter (uncurry $ isLHS p1) ls
|
||||||
wls = filter notff $ wlsNearRect (p2 +.+ V2 r r) (p2 -.- V2 r r) w
|
--wls = filter notff $ wlsNearRect (p2 + V2 r r) (p2 - V2 r r) w
|
||||||
|
wls = filter notff $ wlsNearCirc p2 r w
|
||||||
notff x = x ^. wlMaterial /= ForceField
|
notff x = x ^. wlMaterial /= ForceField
|
||||||
|
|
||||||
-- the amount to push creatures out from walls, extra to their radius
|
-- the amount to push creatures out from walls, extra to their radius
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ 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 * (max 1 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
|
-- note the max 1, prevents trying to create empty buffer storage
|
||||||
checkGLError "during postWorldLoad"
|
checkGLError "during postWorldLoad"
|
||||||
return $
|
return $
|
||||||
|
|||||||
@@ -160,9 +160,9 @@ convexHull _ = error "Tried to create the convex hull of two or fewer points"
|
|||||||
--convexPartition _ = error "unexpected shape for convexPartition"
|
--convexPartition _ = error "unexpected shape for convexPartition"
|
||||||
|
|
||||||
triangulateEarClip :: [Point2] -> [[Point2]]
|
triangulateEarClip :: [Point2] -> [[Point2]]
|
||||||
triangulateEarClip (x:y:z:[]) = [(x:y:z:[])]
|
triangulateEarClip [x,y,z] = [[x,y,z]]
|
||||||
triangulateEarClip (x:y:z:xs)
|
triangulateEarClip (x:y:z:xs)
|
||||||
| isLHS x y z && not (any (`pointInPoly` (x:y:z:[])) xs) = (x:y:z:[]) : triangulateEarClip (x:z:xs)
|
| isLHS x y z && not (any (`pointInPoly` [x,y,z]) xs) = [x,y,z] : triangulateEarClip (x:z:xs)
|
||||||
| otherwise = triangulateEarClip (y:z:xs ++ [x])
|
| otherwise = triangulateEarClip (y:z:xs ++ [x])
|
||||||
triangulateEarClip _ = error "triangulateEarClip: non-simple polygon input?"
|
triangulateEarClip _ = error "triangulateEarClip: non-simple polygon input?"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ takeOneRem :: (RandomGen g) => [a] -> State g (Maybe (a, [a]))
|
|||||||
takeOneRem [] = return Nothing
|
takeOneRem [] = return Nothing
|
||||||
takeOneRem xs =
|
takeOneRem xs =
|
||||||
state (randomR (0, length xs - 1)) >>= \i -> do
|
state (randomR (0, length xs - 1)) >>= \i -> do
|
||||||
let (ys, (z : zs)) = splitAt i xs
|
let (ys, z : zs) = splitAt i xs
|
||||||
return $ Just (z, ys <> zs)
|
return $ Just (z, ys <> zs)
|
||||||
|
|
||||||
takeOneFiltered :: (RandomGen g) => (a -> Bool) -> [a] -> State g (Maybe a)
|
takeOneFiltered :: (RandomGen g) => (a -> Bool) -> [a] -> State g (Maybe a)
|
||||||
|
|||||||
@@ -2508,11 +2508,11 @@ _wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f
|
|||||||
_xNum src/Dodge/Data/Item/Combine.hs 140;" f
|
_xNum src/Dodge/Data/Item/Combine.hs 140;" f
|
||||||
_xNum src/Dodge/Data/Item/Combine.hs 150;" f
|
_xNum src/Dodge/Data/Item/Combine.hs 150;" f
|
||||||
_xNum src/Dodge/Data/Item/Combine.hs 170;" f
|
_xNum src/Dodge/Data/Item/Combine.hs 170;" f
|
||||||
aBar src/Dodge/Placement/Instance/LightSource.hs 67;" f
|
aBar src/Dodge/Placement/Instance/LightSource.hs 69;" f
|
||||||
aFlame src/Dodge/Gas.hs 20;" f
|
aFlame src/Dodge/Gas.hs 20;" f
|
||||||
aGasCloud src/Dodge/Gas.hs 15;" f
|
aGasCloud src/Dodge/Gas.hs 15;" f
|
||||||
aRadarPulse src/Dodge/RadarSweep.hs 20;" f
|
aRadarPulse src/Dodge/RadarSweep.hs 20;" f
|
||||||
aShape src/Dodge/Placement/Instance/LightSource.hs 92;" f
|
aShape src/Dodge/Placement/Instance/LightSource.hs 94;" f
|
||||||
aSound src/Dodge/SoundLogic.hs 74;" f
|
aSound src/Dodge/SoundLogic.hs 74;" f
|
||||||
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
|
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
|
||||||
accessTerminal src/Dodge/WorldEffect.hs 65;" f
|
accessTerminal src/Dodge/WorldEffect.hs 65;" f
|
||||||
@@ -2520,7 +2520,7 @@ activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 63;" f
|
|||||||
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
|
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
|
||||||
addArmour src/Dodge/Creature.hs 82;" f
|
addArmour src/Dodge/Creature.hs 82;" f
|
||||||
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
|
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
|
||||||
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f
|
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 95;" f
|
||||||
addCrGibs src/Dodge/Prop/Gib.hs 17;" f
|
addCrGibs src/Dodge/Prop/Gib.hs 17;" f
|
||||||
addDepth src/Picture/Base.hs 125;" f
|
addDepth src/Picture/Base.hs 125;" f
|
||||||
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 43;" f
|
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 43;" f
|
||||||
@@ -2544,14 +2544,14 @@ addIndefiniteArticle src/StringHelp.hs 17;" f
|
|||||||
addLightsNGon src/Dodge/Room/Modify.hs 41;" f
|
addLightsNGon src/Dodge/Room/Modify.hs 41;" f
|
||||||
addNodesCrossing src/Dodge/Room/Path.hs 28;" f
|
addNodesCrossing src/Dodge/Room/Path.hs 28;" f
|
||||||
addNodesCrossingCirc src/Dodge/Room/Path.hs 41;" f
|
addNodesCrossingCirc src/Dodge/Room/Path.hs 41;" f
|
||||||
addPane src/Dodge/Placement/PlaceSpot.hs 169;" f
|
addPane src/Dodge/Placement/PlaceSpot.hs 176;" f
|
||||||
addPointPolygon src/Geometry/Polygon.hs 142;" f
|
addPointPolygon src/Geometry/Polygon.hs 142;" f
|
||||||
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
|
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
|
||||||
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
|
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
|
||||||
addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f
|
addRandomGirderEW src/Dodge/Room/Girder.hs 9;" f
|
||||||
addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f
|
addRandomGirderFrom src/Dodge/Room/Girder.hs 16;" f
|
||||||
addSideEffect src/Dodge/Concurrent.hs 29;" f
|
addSideEffect src/Dodge/Concurrent.hs 29;" f
|
||||||
addSouthPillars src/Dodge/Room/LongDoor.hs 88;" f
|
addSouthPillars src/Dodge/Room/LongDoor.hs 87;" f
|
||||||
addTermSignal src/Dodge/Event/Input.hs 31;" f
|
addTermSignal src/Dodge/Event/Input.hs 31;" f
|
||||||
addToTrunk src/TreeHelp.hs 157;" f
|
addToTrunk src/TreeHelp.hs 157;" f
|
||||||
addWarningTerminal src/Dodge/Room/Warning.hs 94;" f
|
addWarningTerminal src/Dodge/Room/Warning.hs 94;" f
|
||||||
@@ -2564,11 +2564,11 @@ aimStanceInfo src/Dodge/Item/Info.hs 242;" f
|
|||||||
aimTurn src/Dodge/Creature/YourControl.hs 181;" f
|
aimTurn src/Dodge/Creature/YourControl.hs 181;" f
|
||||||
airlock src/Dodge/Room/Airlock.hs 28;" f
|
airlock src/Dodge/Room/Airlock.hs 28;" f
|
||||||
airlock0 src/Dodge/Room/Airlock.hs 79;" f
|
airlock0 src/Dodge/Room/Airlock.hs 79;" f
|
||||||
airlock90 src/Dodge/Room/Airlock.hs 200;" f
|
airlock90 src/Dodge/Room/Airlock.hs 202;" f
|
||||||
airlockCrystal src/Dodge/Room/Airlock.hs 250;" f
|
airlockCrystal src/Dodge/Room/Airlock.hs 252;" f
|
||||||
airlockDoubleDoor src/Dodge/Room/Airlock.hs 103;" f
|
airlockDoubleDoor src/Dodge/Room/Airlock.hs 105;" f
|
||||||
airlockSimple src/Dodge/Room/Airlock.hs 128;" f
|
airlockSimple src/Dodge/Room/Airlock.hs 130;" f
|
||||||
airlockZ src/Dodge/Room/Airlock.hs 165;" f
|
airlockZ src/Dodge/Room/Airlock.hs 167;" f
|
||||||
allVisibleWalls src/Dodge/Base/Collide.hs 225;" f
|
allVisibleWalls src/Dodge/Base/Collide.hs 225;" f
|
||||||
alongSegBy src/Geometry.hs 40;" f
|
alongSegBy src/Geometry.hs 40;" f
|
||||||
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
|
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
|
||||||
@@ -2704,7 +2704,7 @@ blinkShockwave src/Dodge/Creature/Action/Blink.hs 78;" f
|
|||||||
blinker src/Dodge/Item/Held/Utility.hs 30;" f
|
blinker src/Dodge/Item/Held/Utility.hs 30;" f
|
||||||
blipAt src/Dodge/RadarSweep.hs 78;" f
|
blipAt src/Dodge/RadarSweep.hs 78;" f
|
||||||
blockLine src/Dodge/Placement/Instance/Wall.hs 44;" f
|
blockLine src/Dodge/Placement/Instance/Wall.hs 44;" f
|
||||||
blockPillar src/Dodge/Room/Pillar.hs 22;" f
|
blockPillar src/Dodge/Room/Pillar.hs 23;" f
|
||||||
blockedCorridor src/Dodge/Room/RoadBlock.hs 71;" f
|
blockedCorridor src/Dodge/Room/RoadBlock.hs 71;" f
|
||||||
blockedCorridorCloseBlocks src/Dodge/Room/RoadBlock.hs 78;" f
|
blockedCorridorCloseBlocks src/Dodge/Room/RoadBlock.hs 78;" f
|
||||||
blockingLoad src/Dodge/Concurrent.hs 35;" f
|
blockingLoad src/Dodge/Concurrent.hs 35;" f
|
||||||
@@ -3441,8 +3441,8 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
|
|||||||
ebFlicker src/Dodge/EnergyBall.hs 70;" f
|
ebFlicker src/Dodge/EnergyBall.hs 70;" f
|
||||||
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
|
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
|
||||||
edgeToPic src/Dodge/Debug/Picture.hs 426;" f
|
edgeToPic src/Dodge/Debug/Picture.hs 426;" f
|
||||||
effectOnEquip src/Dodge/Euse.hs 89;" f
|
effectOnEquip src/Dodge/Euse.hs 84;" f
|
||||||
effectOnRemove src/Dodge/Euse.hs 79;" f
|
effectOnRemove src/Dodge/Euse.hs 74;" f
|
||||||
eitType src/Dodge/Data/EquipType.hs 15;" f
|
eitType src/Dodge/Data/EquipType.hs 15;" f
|
||||||
ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 837;" f
|
ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 837;" f
|
||||||
elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 821;" f
|
elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 821;" f
|
||||||
@@ -3492,7 +3492,7 @@ expireAndDamage src/Dodge/Bullet.hs 188;" f
|
|||||||
explodeShell src/Dodge/Projectile/Update.hs 274;" f
|
explodeShell src/Dodge/Projectile/Update.hs 274;" f
|
||||||
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f
|
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f
|
||||||
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
|
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
|
||||||
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 80;" f
|
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 82;" f
|
||||||
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
|
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
|
||||||
extraPics src/Dodge/Render/ShapePicture.hs 141;" f
|
extraPics src/Dodge/Render/ShapePicture.hs 141;" f
|
||||||
extraWeaponLinks src/Dodge/Item/Grammar.hs 93;" f
|
extraWeaponLinks src/Dodge/Item/Grammar.hs 93;" f
|
||||||
@@ -3692,16 +3692,16 @@ halfHeight src/Dodge/Base/Window.hs 49;" f
|
|||||||
halfWidth src/Dodge/Base/Window.hs 49;" f
|
halfWidth src/Dodge/Base/Window.hs 49;" f
|
||||||
haltSound src/Dodge/SoundLogic.hs 38;" f
|
haltSound src/Dodge/SoundLogic.hs 38;" f
|
||||||
hammerCheck src/Dodge/HeldUse.hs 66;" f
|
hammerCheck src/Dodge/HeldUse.hs 66;" f
|
||||||
handHandleOrient src/Dodge/Item/HeldOffset.hs 57;" f
|
handHandleOrient src/Dodge/Item/HeldOffset.hs 58;" f
|
||||||
handOrient src/Dodge/Item/HeldOffset.hs 39;" f
|
handOrient src/Dodge/Item/HeldOffset.hs 40;" f
|
||||||
handleEvent src/Dodge/Event.hs 27;" f
|
handleEvent src/Dodge/Event.hs 27;" f
|
||||||
handleHotkeys src/Dodge/Creature/YourControl.hs 46;" f
|
handleHotkeys src/Dodge/Creature/YourControl.hs 46;" f
|
||||||
handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
|
handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f
|
||||||
handleMouseButtonEvent src/Dodge/Event/Input.hs 61;" f
|
handleMouseButtonEvent src/Dodge/Event/Input.hs 61;" f
|
||||||
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
|
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
|
||||||
handleMouseWheelEvent src/Dodge/Event/Input.hs 56;" f
|
handleMouseWheelEvent src/Dodge/Event/Input.hs 56;" f
|
||||||
handleOrient src/Dodge/Item/HeldOffset.hs 32;" f
|
handleOrient src/Dodge/Item/HeldOffset.hs 33;" f
|
||||||
handlePos src/Dodge/Item/HeldOffset.hs 78;" f
|
handlePos src/Dodge/Item/HeldOffset.hs 79;" f
|
||||||
handleResizeEvent src/Dodge/Event.hs 53;" f
|
handleResizeEvent src/Dodge/Event.hs 53;" f
|
||||||
handleTextInput src/Dodge/Event/Input.hs 19;" f
|
handleTextInput src/Dodge/Event/Input.hs 19;" f
|
||||||
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
|
handleWindowMoveEvent src/Dodge/Event.hs 44;" f
|
||||||
@@ -3725,7 +3725,7 @@ heldAimStance src/Dodge/Item/AimStance.hs 24;" f
|
|||||||
heldAimZoom src/Dodge/Update/Camera.hs 157;" f
|
heldAimZoom src/Dodge/Update/Camera.hs 157;" f
|
||||||
heldEffect src/Dodge/HeldUse.hs 63;" f
|
heldEffect src/Dodge/HeldUse.hs 63;" f
|
||||||
heldEffectMuzzles src/Dodge/HeldUse.hs 134;" f
|
heldEffectMuzzles src/Dodge/HeldUse.hs 134;" f
|
||||||
heldHandlePos src/Dodge/Item/HeldOffset.hs 84;" f
|
heldHandlePos src/Dodge/Item/HeldOffset.hs 85;" f
|
||||||
heldInfo src/Dodge/Item/Info.hs 92;" f
|
heldInfo src/Dodge/Item/Info.hs 92;" f
|
||||||
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f
|
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f
|
||||||
heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f
|
heldItemBulkiness src/Dodge/Creature/YourControl.hs 194;" f
|
||||||
@@ -3753,7 +3753,7 @@ horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
|
|||||||
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
|
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f
|
||||||
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
|
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
|
||||||
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
|
hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f
|
||||||
iShape src/Dodge/Placement/Instance/LightSource.hs 55;" f
|
iShape src/Dodge/Placement/Instance/LightSource.hs 57;" f
|
||||||
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
|
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
|
||||||
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
|
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
|
||||||
inLink src/Dodge/RoomLink.hs 128;" f
|
inLink src/Dodge/RoomLink.hs 128;" f
|
||||||
@@ -3927,11 +3927,10 @@ itmBaseInfo src/Dodge/Item/Info.hs 30;" f
|
|||||||
itmEquipSiteInfo src/Dodge/Item/Info.hs 249;" f
|
itmEquipSiteInfo src/Dodge/Item/Info.hs 249;" f
|
||||||
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
|
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
|
||||||
itmUsageInfo src/Dodge/Item/Info.hs 229;" f
|
itmUsageInfo src/Dodge/Item/Info.hs 229;" f
|
||||||
jShape src/Dodge/Placement/Instance/LightSource.hs 70;" f
|
jShape src/Dodge/Placement/Instance/LightSource.hs 72;" f
|
||||||
joinItemsInList src/Dodge/Item/Grammar.hs 211;" f
|
joinItemsInList src/Dodge/Item/Grammar.hs 211;" f
|
||||||
joystick src/Dodge/Item/Scope.hs 158;" f
|
joystick src/Dodge/Item/Scope.hs 158;" f
|
||||||
jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
|
jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
|
||||||
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 64;" f
|
|
||||||
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
|
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
|
||||||
jsps0 src/Dodge/LevelGen/PlacementHelper.hs 39;" f
|
jsps0 src/Dodge/LevelGen/PlacementHelper.hs 39;" f
|
||||||
jsps0J src/Dodge/LevelGen/PlacementHelper.hs 48;" f
|
jsps0J src/Dodge/LevelGen/PlacementHelper.hs 48;" f
|
||||||
@@ -3951,7 +3950,7 @@ lChasm src/Dodge/Room/Tutorial.hs 144;" f
|
|||||||
lConnect src/Dodge/Render/Connectors.hs 43;" f
|
lConnect src/Dodge/Render/Connectors.hs 43;" f
|
||||||
lConnectCol src/Dodge/Render/Connectors.hs 46;" f
|
lConnectCol src/Dodge/Render/Connectors.hs 46;" f
|
||||||
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
|
lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
|
||||||
lShape src/Dodge/Placement/Instance/LightSource.hs 58;" f
|
lShape src/Dodge/Placement/Instance/LightSource.hs 60;" f
|
||||||
lamp src/Dodge/Creature/Lamp.hs 18;" f
|
lamp src/Dodge/Creature/Lamp.hs 18;" f
|
||||||
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
|
lampCrSPic src/Dodge/Render/ShapePicture.hs 125;" f
|
||||||
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
|
lasCenRunClose' src/Dodge/Room/LasTurret.hs 309;" f
|
||||||
@@ -3988,7 +3987,7 @@ leftRightCombine src/Dodge/Item/Grammar.hs 201;" f
|
|||||||
leftWristPQ src/Dodge/Creature/HandPos.hs 82;" f
|
leftWristPQ src/Dodge/Creature/HandPos.hs 82;" f
|
||||||
legsSPic src/Dodge/Item/Draw/SPic.hs 447;" f
|
legsSPic src/Dodge/Item/Draw/SPic.hs 447;" f
|
||||||
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
|
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
|
||||||
liShape src/Dodge/Placement/Instance/LightSource.hs 83;" f
|
liShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
|
||||||
light src/Color.hs 131;" f
|
light src/Color.hs 131;" f
|
||||||
lightSensByDoor src/Dodge/Room/LasTurret.hs 77;" f
|
lightSensByDoor src/Dodge/Room/LasTurret.hs 77;" f
|
||||||
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 64;" f
|
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 64;" f
|
||||||
@@ -4030,7 +4029,7 @@ locDTLeftmost src/Dodge/DoubleTree.hs 148;" f
|
|||||||
locDTRightmost src/Dodge/DoubleTree.hs 151;" f
|
locDTRightmost src/Dodge/DoubleTree.hs 151;" f
|
||||||
locGoHelp src/Dodge/DoubleTree.hs 166;" f
|
locGoHelp src/Dodge/DoubleTree.hs 166;" f
|
||||||
locMuzzles src/Dodge/HeldUse.hs 148;" f
|
locMuzzles src/Dodge/HeldUse.hs 148;" f
|
||||||
locOrient src/Dodge/Item/HeldOffset.hs 52;" f
|
locOrient src/Dodge/Item/HeldOffset.hs 53;" f
|
||||||
locToTop src/Dodge/DoubleTree.hs 145;" f
|
locToTop src/Dodge/DoubleTree.hs 145;" f
|
||||||
locUp' src/Dodge/DoubleTree.hs 132;" f
|
locUp' src/Dodge/DoubleTree.hs 132;" f
|
||||||
lockInv src/Dodge/Inventory/Lock.hs 9;" f
|
lockInv src/Dodge/Inventory/Lock.hs 9;" f
|
||||||
@@ -4213,12 +4212,12 @@ mkDustCloudLike src/Shader/Poke/Cloud.hs 27;" f
|
|||||||
mkGraphFromEdges src/GraphHelp.hs 4;" f
|
mkGraphFromEdges src/GraphHelp.hs 4;" f
|
||||||
mkNode src/Dodge/Graph.hs 29;" f
|
mkNode src/Dodge/Graph.hs 29;" f
|
||||||
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
|
mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f
|
||||||
mntLS src/Dodge/Placement/Instance/LightSource.hs 107;" f
|
mntLS src/Dodge/Placement/Instance/LightSource.hs 109;" f
|
||||||
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 130;" f
|
mntLSCond src/Dodge/Placement/Instance/LightSource.hs 132;" f
|
||||||
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 35;" f
|
mntLSOn src/Dodge/Placement/Instance/LightSource.hs 35;" f
|
||||||
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 147;" f
|
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 149;" f
|
||||||
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 155;" f
|
mntLightLnkCond' src/Dodge/Placement/Instance/LightSource.hs 157;" f
|
||||||
mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 152;" f
|
mntLightLnkShape src/Dodge/Placement/Instance/LightSource.hs 154;" f
|
||||||
modTo src/Geometry/Zone.hs 18;" f
|
modTo src/Geometry/Zone.hs 18;" f
|
||||||
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
|
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
|
||||||
mouseCursorType src/Dodge/Render/Picture.hs 90;" f
|
mouseCursorType src/Dodge/Render/Picture.hs 90;" f
|
||||||
@@ -4249,16 +4248,16 @@ muzFlareAt src/Dodge/HeldUse.hs 692;" f
|
|||||||
muzzlePos src/Dodge/HeldUse.hs 779;" f
|
muzzlePos src/Dodge/HeldUse.hs 779;" f
|
||||||
muzzleRandPos src/Dodge/HeldUse.hs 788;" f
|
muzzleRandPos src/Dodge/HeldUse.hs 788;" f
|
||||||
muzzleWallCheck src/Dodge/Update.hs 323;" f
|
muzzleWallCheck src/Dodge/Update.hs 323;" f
|
||||||
mvButton src/Dodge/Placement/PlaceSpot.hs 177;" f
|
mvButton src/Dodge/Placement/PlaceSpot.hs 184;" f
|
||||||
mvCr src/Dodge/Placement/PlaceSpot.hs 180;" f
|
mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f
|
||||||
mvFS src/Dodge/Placement/PlaceSpot.hs 186;" f
|
mvFS src/Dodge/Placement/PlaceSpot.hs 190;" f
|
||||||
mvGust src/Dodge/Update.hs 846;" f
|
mvGust src/Dodge/Update.hs 846;" f
|
||||||
mvLS src/Dodge/Placement/PlaceSpot.hs 222;" f
|
mvLS src/Dodge/Placement/PlaceSpot.hs 228;" f
|
||||||
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
|
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
|
||||||
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
|
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
|
||||||
mvPointToward src/Dodge/Base.hs 136;" f
|
mvPointToward src/Dodge/Base.hs 136;" f
|
||||||
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
|
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
|
||||||
mvProp src/Dodge/Placement/PlaceSpot.hs 174;" f
|
mvProp src/Dodge/Placement/PlaceSpot.hs 181;" f
|
||||||
myIntersectLineLine src/Geometry/Intersect.hs 196;" f
|
myIntersectLineLine src/Geometry/Intersect.hs 196;" f
|
||||||
myIntersectSegSeg src/Geometry/Intersect.hs 174;" f
|
myIntersectSegSeg src/Geometry/Intersect.hs 174;" f
|
||||||
nRays src/Geometry.hs 182;" f
|
nRays src/Geometry.hs 182;" f
|
||||||
@@ -4306,9 +4305,8 @@ numTraversable src/TreeHelp.hs 184;" f
|
|||||||
obstacleColor src/Dodge/Debug/Picture.hs 264;" f
|
obstacleColor src/Dodge/Debug/Picture.hs 264;" f
|
||||||
obstructPathsCrossing src/Dodge/Path.hs 120;" f
|
obstructPathsCrossing src/Dodge/Path.hs 120;" f
|
||||||
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f
|
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f
|
||||||
onEquipWristShield src/Dodge/Euse.hs 94;" f
|
onEquipWristShield src/Dodge/Euse.hs 89;" f
|
||||||
onRemoveWristShield src/Dodge/Euse.hs 84;" f
|
onRemoveWristShield src/Dodge/Euse.hs 79;" f
|
||||||
onXY src/Geometry/Vector3D.hs 130;" f
|
|
||||||
oneH src/Dodge/Creature/Test.hs 97;" f
|
oneH src/Dodge/Creature/Test.hs 97;" f
|
||||||
openConsole src/Dodge/Update.hs 138;" f
|
openConsole src/Dodge/Update.hs 138;" f
|
||||||
optionMenu src/Dodge/Menu.hs 110;" f
|
optionMenu src/Dodge/Menu.hs 110;" f
|
||||||
@@ -4394,21 +4392,21 @@ pjRemoteSetDirection src/Dodge/Projectile/Update.hs 196;" f
|
|||||||
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
|
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
|
||||||
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
|
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
|
||||||
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
|
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
|
||||||
plMachine src/Dodge/Placement/PlaceSpot.hs 189;" f
|
plMachine src/Dodge/Placement/PlaceSpot.hs 193;" f
|
||||||
plNew src/Dodge/Base/NewID.hs 19;" f
|
plNew src/Dodge/Base/NewID.hs 19;" f
|
||||||
plNewID src/Dodge/Base/NewID.hs 7;" f
|
plNewID src/Dodge/Base/NewID.hs 7;" f
|
||||||
plNewUpID src/Dodge/Base/NewID.hs 13;" f
|
plNewUpID src/Dodge/Base/NewID.hs 13;" f
|
||||||
plNewUsing src/Dodge/Base/NewID.hs 27;" f
|
plNewUsing src/Dodge/Base/NewID.hs 27;" f
|
||||||
plPriority src/Dodge/Layout.hs 112;" f
|
plPriority src/Dodge/Layout.hs 112;" f
|
||||||
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
|
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
|
||||||
placeChasm src/Dodge/Placement/PlaceSpot.hs 153;" f
|
placeChasm src/Dodge/Placement/PlaceSpot.hs 159;" f
|
||||||
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 216;" f
|
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 221;" f
|
||||||
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 41;" f
|
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 41;" f
|
||||||
placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f
|
placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f
|
||||||
placeSpotID src/Dodge/Placement/PlaceSpot.hs 102;" f
|
placeSpotID src/Dodge/Placement/PlaceSpot.hs 101;" f
|
||||||
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 87;" f
|
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 85;" f
|
||||||
placeSpotUsingRoomPos src/Dodge/Placement/PlaceSpot.hs 65;" f
|
placeSpotUsingRoomPos src/Dodge/Placement/PlaceSpot.hs 63;" f
|
||||||
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 164;" f
|
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 171;" f
|
||||||
plainRegex src/Dodge/DisplayInventory.hs 193;" f
|
plainRegex src/Dodge/DisplayInventory.hs 193;" f
|
||||||
playIfFree src/Sound.hs 139;" f
|
playIfFree src/Sound.hs 139;" f
|
||||||
playPositionalSoundQueue src/Sound.hs 147;" f
|
playPositionalSoundQueue src/Sound.hs 147;" f
|
||||||
@@ -4515,20 +4513,19 @@ printRotPoint src/Dodge/Debug/Picture.hs 38;" f
|
|||||||
prismBox src/Shape.hs 74;" f
|
prismBox src/Shape.hs 74;" f
|
||||||
prismPoly src/Shape.hs 60;" f
|
prismPoly src/Shape.hs 60;" f
|
||||||
projV src/Geometry/Vector.hs 177;" f
|
projV src/Geometry/Vector.hs 177;" f
|
||||||
projV3 src/Geometry/Vector3D.hs 127;" f
|
|
||||||
propSPic src/Dodge/Prop/Draw.hs 22;" f
|
propSPic src/Dodge/Prop/Draw.hs 22;" f
|
||||||
propagateOrientation src/Dodge/Item/Orientation.hs 92;" f
|
propagateOrientation src/Dodge/Item/Orientation.hs 92;" f
|
||||||
ps0 src/Dodge/LevelGen/PlacementHelper.hs 52;" f
|
ps0 src/Dodge/LevelGen/PlacementHelper.hs 52;" f
|
||||||
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 80;" f
|
ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 76;" f
|
||||||
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 84;" f
|
ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 80;" f
|
||||||
ps0j src/Dodge/LevelGen/PlacementHelper.hs 68;" f
|
ps0j src/Dodge/LevelGen/PlacementHelper.hs 64;" f
|
||||||
ps0jPushPS src/Dodge/LevelGen/PlacementHelper.hs 75;" f
|
ps0jPushPS src/Dodge/LevelGen/PlacementHelper.hs 71;" f
|
||||||
psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f
|
psPt src/Dodge/LevelGen/PlacementHelper.hs 24;" f
|
||||||
psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f
|
psPtCont src/Dodge/LevelGen/PlacementHelper.hs 18;" f
|
||||||
psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f
|
psPtJpl src/Dodge/LevelGen/PlacementHelper.hs 12;" f
|
||||||
psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f
|
psPtPl src/Dodge/LevelGen/PlacementHelper.hs 9;" f
|
||||||
psRandRanges src/Dodge/PlacementSpot.hs 267;" f
|
psRandRanges src/Dodge/PlacementSpot.hs 267;" f
|
||||||
psj src/Dodge/LevelGen/PlacementHelper.hs 71;" f
|
psj src/Dodge/LevelGen/PlacementHelper.hs 67;" f
|
||||||
psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
|
psposAddLabel src/Dodge/PlacementSpot.hs 71;" f
|
||||||
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
|
pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f
|
||||||
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
|
ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f
|
||||||
@@ -4547,15 +4544,15 @@ putBlockN src/Dodge/Placement/Instance/Wall.hs 120;" f
|
|||||||
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
|
putBlockRect src/Dodge/Placement/Instance/Wall.hs 111;" f
|
||||||
putBlockV src/Dodge/Placement/Instance/Wall.hs 114;" f
|
putBlockV src/Dodge/Placement/Instance/Wall.hs 114;" f
|
||||||
putConvexChasm src/Dodge/Data/GenWorld.hs 70;" f
|
putConvexChasm src/Dodge/Data/GenWorld.hs 70;" f
|
||||||
putDoor src/Dodge/Room/Airlock.hs 115;" f
|
putDoor src/Dodge/Room/Airlock.hs 117;" f
|
||||||
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
|
putDoubleDoor src/Dodge/Placement/Instance/Door.hs 17;" f
|
||||||
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
|
putDoubleDoorThen src/Dodge/Placement/Instance/Door.hs 21;" f
|
||||||
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
|
putImmediateMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 60;" f
|
||||||
putLamp src/Dodge/Placement/Instance/LightSource.hs 207;" f
|
putLamp src/Dodge/Placement/Instance/LightSource.hs 209;" f
|
||||||
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
|
putLasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
|
||||||
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 65;" f
|
putLitButOnPos src/Dodge/Placement/Instance/Button.hs 66;" f
|
||||||
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 98;" f
|
putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 100;" f
|
||||||
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 101;" f
|
putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 103;" f
|
||||||
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f
|
putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 57;" f
|
||||||
putShape src/Dodge/Room/Foreground.hs 134;" f
|
putShape src/Dodge/Room/Foreground.hs 134;" f
|
||||||
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
|
putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f
|
||||||
@@ -4723,10 +4720,10 @@ roomGlassOctogon src/Dodge/Room/Boss.hs 22;" f
|
|||||||
roomMiniIntro src/Dodge/Room/Room.hs 132;" f
|
roomMiniIntro src/Dodge/Room/Room.hs 132;" f
|
||||||
roomNgon src/Dodge/Room/Ngon.hs 16;" f
|
roomNgon src/Dodge/Room/Ngon.hs 16;" f
|
||||||
roomPadCut src/Dodge/Room/Room.hs 72;" f
|
roomPadCut src/Dodge/Room/Room.hs 72;" f
|
||||||
roomPillars src/Dodge/Room/Pillar.hs 106;" f
|
roomPillars src/Dodge/Room/Pillar.hs 107;" f
|
||||||
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
|
roomPillarsContaining src/Dodge/Room/Containing.hs 39;" f
|
||||||
roomPillarsPassage src/Dodge/Room/Pillar.hs 93;" f
|
roomPillarsPassage src/Dodge/Room/Pillar.hs 94;" f
|
||||||
roomPillarsSquare src/Dodge/Room/Pillar.hs 49;" f
|
roomPillarsSquare src/Dodge/Room/Pillar.hs 50;" f
|
||||||
roomRect src/Dodge/Room/Procedural.hs 42;" f
|
roomRect src/Dodge/Room/Procedural.hs 42;" f
|
||||||
roomRectAutoLights src/Dodge/Room/Procedural.hs 119;" f
|
roomRectAutoLights src/Dodge/Room/Procedural.hs 119;" f
|
||||||
roomShuriken src/Dodge/Room/Boss.hs 116;" f
|
roomShuriken src/Dodge/Room/Boss.hs 116;" f
|
||||||
@@ -4740,7 +4737,6 @@ rotD src/Padding.hs 44;" f
|
|||||||
rotMatr src/MatrixHelper.hs 79;" f
|
rotMatr src/MatrixHelper.hs 79;" f
|
||||||
rotU src/Padding.hs 39;" f
|
rotU src/Padding.hs 39;" f
|
||||||
rotate src/Picture/Base.hs 145;" f
|
rotate src/Picture/Base.hs 145;" f
|
||||||
rotate3 src/Geometry/Vector3D.hs 48;" f
|
|
||||||
rotate3x src/Geometry/Vector3D.hs 60;" f
|
rotate3x src/Geometry/Vector3D.hs 60;" f
|
||||||
rotate3y src/Geometry/Vector3D.hs 66;" f
|
rotate3y src/Geometry/Vector3D.hs 66;" f
|
||||||
rotate3z src/Geometry/Vector3D.hs 54;" f
|
rotate3z src/Geometry/Vector3D.hs 54;" f
|
||||||
@@ -4882,7 +4878,7 @@ setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
|||||||
setViewport src/Dodge/Render.hs 448;" f
|
setViewport src/Dodge/Render.hs 448;" f
|
||||||
setVol src/Dodge/Config.hs 47;" f
|
setVol src/Dodge/Config.hs 47;" f
|
||||||
setWindowColor src/Dodge/Render/Walls.hs 32;" f
|
setWindowColor src/Dodge/Render/Walls.hs 32;" f
|
||||||
setWristShieldPos src/Dodge/Euse.hs 113;" f
|
setWristShieldPos src/Dodge/Euse.hs 108;" f
|
||||||
setupConLoop src/Loop.hs 103;" f
|
setupConLoop src/Loop.hs 103;" f
|
||||||
setupConLoop' src/Loop.hs 193;" f
|
setupConLoop' src/Loop.hs 193;" f
|
||||||
setupFramebuffer2GivenStencil src/Framebuffer/Setup.hs 46;" f
|
setupFramebuffer2GivenStencil src/Framebuffer/Setup.hs 46;" f
|
||||||
@@ -4945,7 +4941,7 @@ shootingRange src/Dodge/Room/Room.hs 356;" f
|
|||||||
shortPoint2 src/Dodge/ShortShow.hs 4;" f
|
shortPoint2 src/Dodge/ShortShow.hs 4;" f
|
||||||
shortShow src/ShortShow.hs 7;" f
|
shortShow src/ShortShow.hs 7;" f
|
||||||
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f
|
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 527;" f
|
||||||
shoulderHeight src/Dodge/Item/HeldOffset.hs 63;" f
|
shoulderHeight src/Dodge/Item/HeldOffset.hs 64;" f
|
||||||
shoulderSH src/Dodge/Creature/Picture.hs 122;" f
|
shoulderSH src/Dodge/Creature/Picture.hs 122;" f
|
||||||
showAttachItem src/Dodge/Item/Display.hs 92;" f
|
showAttachItem src/Dodge/Item/Display.hs 92;" f
|
||||||
showEquipItem src/Dodge/Item/Display.hs 108;" f
|
showEquipItem src/Dodge/Item/Display.hs 108;" f
|
||||||
@@ -4991,8 +4987,8 @@ slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 747;" f
|
|||||||
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f
|
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 667;" f
|
||||||
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f
|
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 629;" f
|
||||||
slideWindow src/ListHelp.hs 81;" f
|
slideWindow src/ListHelp.hs 81;" f
|
||||||
slowDoorRoom src/Dodge/Room/LongDoor.hs 141;" f
|
slowDoorRoom src/Dodge/Room/LongDoor.hs 139;" f
|
||||||
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 158;" f
|
slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 156;" f
|
||||||
smallBattery src/Dodge/Item/Ammo.hs 57;" f
|
smallBattery src/Dodge/Item/Ammo.hs 57;" f
|
||||||
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
|
smallBranch src/Dodge/Tree/GenerateStructure.hs 32;" f
|
||||||
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
|
smallChaseCrit src/Dodge/Creature/ChaseCrit.hs 14;" f
|
||||||
@@ -5001,7 +4997,7 @@ smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 825;" f
|
|||||||
smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f
|
smallGlass2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 535;" f
|
||||||
smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 805;" f
|
smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 805;" f
|
||||||
smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f
|
smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f
|
||||||
smallPillar src/Dodge/Room/Pillar.hs 37;" f
|
smallPillar src/Dodge/Room/Pillar.hs 38;" f
|
||||||
smallRoom src/Dodge/Room/RunPast.hs 31;" f
|
smallRoom src/Dodge/Room/RunPast.hs 31;" f
|
||||||
smallSnailInt2 src/Dodge/Path.hs 81;" f
|
smallSnailInt2 src/Dodge/Path.hs 81;" f
|
||||||
smg src/Dodge/Item/Held/Stick.hs 30;" f
|
smg src/Dodge/Item/Held/Stick.hs 30;" f
|
||||||
@@ -5027,13 +5023,13 @@ soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 175;" f
|
|||||||
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
|
soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
|
||||||
soundWithStatus src/Dodge/SoundLogic.hs 104;" f
|
soundWithStatus src/Dodge/SoundLogic.hs 104;" f
|
||||||
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
|
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
|
||||||
southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
|
southPillarsRoom src/Dodge/Room/LongDoor.hs 84;" f
|
||||||
spaceAction src/Dodge/Update/Input/InGame.hs 534;" f
|
spaceAction src/Dodge/Update/Input/InGame.hs 534;" f
|
||||||
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 180;" f
|
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 182;" f
|
||||||
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 173;" f
|
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 175;" f
|
||||||
spanLS src/Dodge/Placement/Instance/LightSource.hs 165;" f
|
spanLS src/Dodge/Placement/Instance/LightSource.hs 167;" f
|
||||||
spanLightI src/Dodge/Placement/Instance/LightSource.hs 187;" f
|
spanLightI src/Dodge/Placement/Instance/LightSource.hs 189;" f
|
||||||
spanLightY src/Dodge/Placement/Instance/LightSource.hs 191;" f
|
spanLightY src/Dodge/Placement/Instance/LightSource.hs 193;" f
|
||||||
sparkDam src/Dodge/Spark.hs 37;" f
|
sparkDam src/Dodge/Spark.hs 37;" f
|
||||||
sparkRandDir src/Dodge/Spark.hs 117;" f
|
sparkRandDir src/Dodge/Spark.hs 117;" f
|
||||||
sparkToDamage src/Dodge/Spark.hs 40;" f
|
sparkToDamage src/Dodge/Spark.hs 40;" f
|
||||||
@@ -5110,7 +5106,7 @@ strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
|
|||||||
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
|
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
|
||||||
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
|
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
|
||||||
strictify src/MaybeHelp.hs 35;" f
|
strictify src/MaybeHelp.hs 35;" f
|
||||||
strideRot src/Dodge/Item/HeldOffset.hs 66;" f
|
strideRot src/Dodge/Item/HeldOffset.hs 67;" f
|
||||||
stringToList src/Picture/Base.hs 308;" f
|
stringToList src/Picture/Base.hs 308;" f
|
||||||
stringToListGrad src/Picture/Text.hs 12;" f
|
stringToListGrad src/Picture/Text.hs 12;" f
|
||||||
stripZ src/Geometry/Vector3D.hs 97;" f
|
stripZ src/Geometry/Vector3D.hs 97;" f
|
||||||
@@ -5266,7 +5262,7 @@ tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
|
|||||||
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
|
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
|
||||||
tranRot src/Picture/Base.hs 116;" f
|
tranRot src/Picture/Base.hs 116;" f
|
||||||
transMat src/MatrixHelper.hs 87;" f
|
transMat src/MatrixHelper.hs 87;" f
|
||||||
transToHandle src/Dodge/Item/HeldOffset.hs 27;" f
|
transToHandle src/Dodge/Item/HeldOffset.hs 28;" f
|
||||||
translate src/Picture/Base.hs 108;" f
|
translate src/Picture/Base.hs 108;" f
|
||||||
translate3 src/Picture/Base.hs 112;" f
|
translate3 src/Picture/Base.hs 112;" f
|
||||||
translateFloatingCamera src/Dodge/Update/Camera.hs 49;" f
|
translateFloatingCamera src/Dodge/Update/Camera.hs 49;" f
|
||||||
@@ -5301,9 +5297,9 @@ treeToPotentialFunction src/Dodge/Item/Grammar.hs 147;" f
|
|||||||
triLootRoom src/Dodge/Room/Treasure.hs 23;" f
|
triLootRoom src/Dodge/Room/Treasure.hs 23;" f
|
||||||
triangulateEarClip src/Geometry/Polygon.hs 162;" f
|
triangulateEarClip src/Geometry/Polygon.hs 162;" f
|
||||||
triggerDoorRoom src/Dodge/Room/Door.hs 32;" f
|
triggerDoorRoom src/Dodge/Room/Door.hs 32;" f
|
||||||
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
|
triggerSwitch src/Dodge/Placement/Instance/Button.hs 48;" f
|
||||||
triggerSwitchSPic src/Dodge/Placement/Instance/Button.hs 14;" f
|
triggerSwitchSPic src/Dodge/Placement/Instance/Button.hs 15;" f
|
||||||
triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 31;" f
|
triggerSwitchSPicLight src/Dodge/Placement/Instance/Button.hs 32;" f
|
||||||
truncFaces src/Polyhedra/Geodesic.hs 54;" f
|
truncFaces src/Polyhedra/Geodesic.hs 54;" f
|
||||||
truncate src/Polyhedra/Geodesic.hs 39;" f
|
truncate src/Polyhedra/Geodesic.hs 39;" f
|
||||||
trunkDepth src/TreeHelp.hs 162;" f
|
trunkDepth src/TreeHelp.hs 162;" f
|
||||||
@@ -5334,11 +5330,11 @@ tutRezBox src/Dodge/Room/Tutorial.hs 523;" f
|
|||||||
tutRoomTree src/Dodge/Floor.hs 20;" f
|
tutRoomTree src/Dodge/Floor.hs 20;" f
|
||||||
tutorialMessage1 src/Dodge/Room/Tutorial.hs 548;" f
|
tutorialMessage1 src/Dodge/Room/Tutorial.hs 548;" f
|
||||||
tweenAngles src/Geometry/Vector.hs 190;" f
|
tweenAngles src/Geometry/Vector.hs 190;" f
|
||||||
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
|
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 78;" f
|
||||||
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
|
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
|
||||||
twists src/Dodge/Creature/Test.hs 103;" f
|
twists src/Dodge/Creature/Test.hs 103;" f
|
||||||
twoFlat src/Dodge/Creature/Test.hs 100;" f
|
twoFlat src/Dodge/Creature/Test.hs 100;" f
|
||||||
twoFlatHRot src/Dodge/Item/HeldOffset.hs 75;" f
|
twoFlatHRot src/Dodge/Item/HeldOffset.hs 76;" f
|
||||||
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 166;" f
|
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 166;" f
|
||||||
twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f
|
twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f
|
||||||
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f
|
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f
|
||||||
@@ -5530,7 +5526,7 @@ vCen3 src/Geometry/Vector3D.hs 115;" f
|
|||||||
vInverse src/Geometry/Vector.hs 154;" f
|
vInverse src/Geometry/Vector.hs 154;" f
|
||||||
vNormal src/Geometry/Vector.hs 149;" f
|
vNormal src/Geometry/Vector.hs 149;" f
|
||||||
vNormaly src/Geometry/Vector3D.hs 72;" f
|
vNormaly src/Geometry/Vector3D.hs 72;" f
|
||||||
vShape src/Dodge/Placement/Instance/LightSource.hs 97;" f
|
vShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
|
||||||
vToL src/MatrixHelper.hs 56;" f
|
vToL src/MatrixHelper.hs 56;" f
|
||||||
vToQuat src/Quaternion.hs 42;" f
|
vToQuat src/Quaternion.hs 42;" f
|
||||||
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
|
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
|
||||||
|
|||||||
Reference in New Issue
Block a user