Automatically order placements

This commit is contained in:
2026-03-17 23:38:14 +00:00
parent 3b4cf68a15
commit d1c2870d63
25 changed files with 527 additions and 479 deletions
+1 -2
View File
@@ -55,8 +55,7 @@ heldTriggerType = \case
FLAMETORRENT -> NoTrigger FLAMETORRENT -> NoTrigger
FLAMEWALL -> NoTrigger FLAMEWALL -> NoTrigger
BLOWTORCH -> NoTrigger BLOWTORCH -> NoTrigger
SPARKGUN -> NoTrigger TESLACOIL -> NoTrigger
TESLAGUN -> NoTrigger
TRACTORGUN -> NoTrigger TRACTORGUN -> NoTrigger
RLAUNCHER -> SemiAutoTrigger 20 RLAUNCHER -> SemiAutoTrigger 20
RLAUNCHERX{} -> SemiAutoTrigger 20 RLAUNCHERX{} -> SemiAutoTrigger 20
+1 -2
View File
@@ -92,8 +92,7 @@ itemCombinations =
-- , po [HELD LASGUN, HELD LASGUN, cr HARDWARE] dualBeam -- , po [HELD LASGUN, HELD LASGUN, cr HARDWARE] dualBeam
-- , po [HELD LASGUN, cr TRANSFORMER] (lasWide 2) -- , po [HELD LASGUN, cr TRANSFORMER] (lasWide 2)
-- , po [HELD LASGUN, HELD LASGUN, HELD LASGUN, cr HARDWARE] lasCircle -- , po [HELD LASGUN, HELD LASGUN, HELD LASGUN, cr HARDWARE] lasCircle
, p [o $ cr TRANSFORMER, p 2 $ cr CAN] sparkGun , p [o $ cr TRANSFORMER, p 2 $ cr CAN] teslaCoil
, p [o (HELD SPARKGUN), p 2 $ cr PIPE] teslaGun
-- , p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinker -- , p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinker
, p [o $ HELD BLINKER, p 2 $ cr MICROCHIP] unsafeBlinker , p [o $ HELD BLINKER, p 2 $ cr MICROCHIP] unsafeBlinker
, po [cr MAGNET, cr TIN] (magShield MagnetRepulse) , po [cr MAGNET, cr TIN] (magShield MagnetRepulse)
+1 -1
View File
@@ -345,7 +345,7 @@ stackedInventory =
, megaBattery , megaBattery
, capacitor , capacitor
, makeTypeCraft TRANSFORMER , makeTypeCraft TRANSFORMER
, teslaGun , teslaCoil
, megaBattery , megaBattery
, flameThrower , flameThrower
, chemFuelPouch , chemFuelPouch
+1 -2
View File
@@ -106,8 +106,7 @@ heldItemWeight = \case
FLAMETORRENT -> 10 FLAMETORRENT -> 10
FLAMEWALL -> 10 FLAMEWALL -> 10
BLOWTORCH -> 10 BLOWTORCH -> 10
SPARKGUN -> 15 TESLACOIL -> 15
TESLAGUN -> 15
TRACTORGUN -> 10 TRACTORGUN -> 10
RLAUNCHER -> 20 RLAUNCHER -> 20
RLAUNCHERX{} -> 20 RLAUNCHERX{} -> 20
+1 -2
View File
@@ -220,8 +220,7 @@ heldItemBulkiness = \case
FLAMETORRENT -> 1 FLAMETORRENT -> 1
FLAMEWALL -> 1 FLAMEWALL -> 1
BLOWTORCH -> 1 BLOWTORCH -> 1
SPARKGUN -> 1 TESLACOIL -> 1
TESLAGUN -> 1
TRACTORGUN -> 1 TRACTORGUN -> 1
RLAUNCHER -> 0.9 RLAUNCHER -> 0.9
RLAUNCHERX{} -> 0.9 RLAUNCHERX{} -> 0.9
+1 -2
View File
@@ -164,8 +164,7 @@ data HeldItemType
| FLAMETORRENT | FLAMETORRENT
| FLAMEWALL | FLAMEWALL
| BLOWTORCH | BLOWTORCH
| SPARKGUN | TESLACOIL
| TESLAGUN
| TRACTORGUN | TRACTORGUN
| RLAUNCHER | RLAUNCHER
| RLAUNCHERX {_xNum :: Int} | RLAUNCHERX {_xNum :: Int}
+1
View File
@@ -80,6 +80,7 @@ data PathFromEdge = PathFromEdge CardinalPoint Int
data RoomPosFlag data RoomPosFlag
= RoomPosOnGrid {_onGridFromEdges :: S.Set PathFromEdge} = RoomPosOnGrid {_onGridFromEdges :: S.Set PathFromEdge}
| RoomPosOffGrid {_offGridFromEdges :: S.Set PathFromEdge} | RoomPosOffGrid {_offGridFromEdges :: S.Set PathFromEdge}
| RoomPosOnFloor
deriving (Eq, Ord, Show) deriving (Eq, Ord, Show)
data UsedPos data UsedPos
+1 -1
View File
@@ -29,7 +29,7 @@ initialRoomTree =
, passthroughLockKeyLists , passthroughLockKeyLists
[(sensorRoomRunPast ElectricSensor, takeOne [(sensorRoomRunPast ElectricSensor, takeOne
[-- CRAFT (ENERGYBALLCRAFT TeslaBall) , [-- CRAFT (ENERGYBALLCRAFT TeslaBall) ,
HELD SPARKGUN])] HELD TESLACOIL])]
itemRooms itemRooms
, lasSensorTurretTest , lasSensorTurretTest
, -- , AnRoom $ tanksRoom [] [] <&> rmPmnts .~ [] , -- , AnRoom $ tanksRoom [] [] <&> rmPmnts .~ []
+9 -16
View File
@@ -279,9 +279,9 @@ heldItemMuzzles loc = \case
<*> pure MuzzleRLauncher <*> pure MuzzleRLauncher
<*> pure 0 <*> pure 0
) )
TESLAGUN -> TESLACOIL ->
dbwMuzzles dbwMuzzles
& ix 0 . mzPos .~ V2 10 0 & ix 0 . mzPos .~ V2 5 0
& ix 0 . mzInaccuracy .~ 0 & ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare & ix 0 . mzFlareType .~ TeslaGunFlare
& ix 0 . mzEffect .~ MuzzleTesla & ix 0 . mzEffect .~ MuzzleTesla
@@ -429,8 +429,7 @@ itemSidePush = \case
FLAMETORRENT -> 0 FLAMETORRENT -> 0
FLAMEWALL -> 0 FLAMEWALL -> 0
BLOWTORCH -> 0 BLOWTORCH -> 0
SPARKGUN -> 0 TESLACOIL -> 0
TESLAGUN -> 0
TRACTORGUN -> 0 TRACTORGUN -> 0
RLAUNCHER -> 0 RLAUNCHER -> 0
RLAUNCHERX{} -> 0 RLAUNCHERX{} -> 0
@@ -512,8 +511,7 @@ recoilAmount itm
FLAMETORRENT -> 0 FLAMETORRENT -> 0
FLAMEWALL -> 0 FLAMEWALL -> 0
BLOWTORCH -> 0 BLOWTORCH -> 0
SPARKGUN -> 0 TESLACOIL -> 0
TESLAGUN -> 0
TRACTORGUN -> 0 TRACTORGUN -> 0
RLAUNCHER -> 0 RLAUNCHER -> 0
RLAUNCHERX _ -> 0 RLAUNCHERX _ -> 0
@@ -559,8 +557,7 @@ bgunSound itm
FLAMETORRENT -> Nothing FLAMETORRENT -> Nothing
FLAMEWALL -> Nothing FLAMEWALL -> Nothing
BLOWTORCH -> Nothing BLOWTORCH -> Nothing
SPARKGUN -> Nothing TESLACOIL -> Nothing
TESLAGUN -> Nothing
TRACTORGUN -> Nothing TRACTORGUN -> Nothing
RLAUNCHER -> Just (tap4S, 0) RLAUNCHER -> Just (tap4S, 0)
RLAUNCHERX _ -> Just (tap4S, 0) RLAUNCHERX _ -> Just (tap4S, 0)
@@ -630,8 +627,7 @@ heldTorqueAmount = \case
FLAMETORRENT -> 0 FLAMETORRENT -> 0
FLAMEWALL -> 0 FLAMEWALL -> 0
BLOWTORCH -> 0 BLOWTORCH -> 0
SPARKGUN -> 0 TESLACOIL -> 0.01
TESLAGUN -> 0.01
TRACTORGUN -> 0 TRACTORGUN -> 0
RLAUNCHER -> 0 RLAUNCHER -> 0
RLAUNCHERX{} -> 0 RLAUNCHERX{} -> 0
@@ -1049,8 +1045,7 @@ heldItemMuzVel = \case
FLAMETORRENT -> ConstFloat 0.8 FLAMETORRENT -> ConstFloat 0.8
FLAMEWALL -> ConstFloat 0.8 FLAMEWALL -> ConstFloat 0.8
BLOWTORCH -> ConstFloat 0.8 BLOWTORCH -> ConstFloat 0.8
SPARKGUN -> ConstFloat 0.8 TESLACOIL -> ConstFloat 0.8
TESLAGUN -> ConstFloat 0.8
TRACTORGUN -> ConstFloat 0.8 TRACTORGUN -> ConstFloat 0.8
RLAUNCHER -> ConstFloat 0 RLAUNCHER -> ConstFloat 0
RLAUNCHERX{} -> ConstFloat 0 RLAUNCHERX{} -> ConstFloat 0
@@ -1092,8 +1087,7 @@ heldItemRifling = \case
FLAMETORRENT -> ConstFloat 0.8 FLAMETORRENT -> ConstFloat 0.8
FLAMEWALL -> ConstFloat 0.8 FLAMEWALL -> ConstFloat 0.8
BLOWTORCH -> ConstFloat 0.8 BLOWTORCH -> ConstFloat 0.8
SPARKGUN -> ConstFloat 0.8 TESLACOIL -> ConstFloat 0.8
TESLAGUN -> ConstFloat 0.8
TRACTORGUN -> ConstFloat 0.8 TRACTORGUN -> ConstFloat 0.8
RLAUNCHER -> ConstFloat 0 RLAUNCHER -> ConstFloat 0
RLAUNCHERX{} -> ConstFloat 0 RLAUNCHERX{} -> ConstFloat 0
@@ -1164,8 +1158,7 @@ gasType hit _ = case hit of
FLAMETORRENT -> Just CreateFlame FLAMETORRENT -> Just CreateFlame
FLAMEWALL -> Just CreateFlame FLAMEWALL -> Just CreateFlame
BLOWTORCH -> Nothing BLOWTORCH -> Nothing
SPARKGUN -> Nothing TESLACOIL -> Nothing
TESLAGUN -> Nothing
TRACTORGUN -> Nothing TRACTORGUN -> Nothing
RLAUNCHER -> Nothing RLAUNCHER -> Nothing
RLAUNCHERX{} -> Nothing RLAUNCHERX{} -> Nothing
+1 -2
View File
@@ -50,8 +50,7 @@ heldAimStance = \case
FLAMETORRENT -> TwoHandUnder FLAMETORRENT -> TwoHandUnder
FLAMEWALL -> TwoHandUnder FLAMEWALL -> TwoHandUnder
BLOWTORCH -> TwoHandUnder BLOWTORCH -> TwoHandUnder
SPARKGUN -> TwoHandFlat TESLACOIL -> TwoHandFlat
TESLAGUN -> TwoHandFlat
TRACTORGUN -> TwoHandUnder TRACTORGUN -> TwoHandUnder
RLAUNCHER -> TwoHandOver RLAUNCHER -> TwoHandOver
RLAUNCHERX{} -> TwoHandOver RLAUNCHERX{} -> TwoHandOver
+1 -2
View File
@@ -45,8 +45,7 @@ heldItemAmmoSlots = \case
FLAMESPITTER -> singleAmmo GasAmmo FLAMESPITTER -> singleAmmo GasAmmo
FLAMEWALL -> singleAmmo GasAmmo FLAMEWALL -> singleAmmo GasAmmo
BLOWTORCH -> singleAmmo GasAmmo BLOWTORCH -> singleAmmo GasAmmo
TESLAGUN -> singleAmmo ElectricalAmmo TESLACOIL -> singleAmmo ElectricalAmmo
SPARKGUN -> singleAmmo ElectricalAmmo
TRACTORGUN -> singleAmmo ElectricalAmmo TRACTORGUN -> singleAmmo ElectricalAmmo
SHATTERGUN -> singleAmmo ElectricalAmmo SHATTERGUN -> singleAmmo ElectricalAmmo
LED -> singleAmmo ElectricalAmmo LED -> singleAmmo ElectricalAmmo
+1 -2
View File
@@ -259,8 +259,7 @@ heldItemSPic ht it = case ht of
FLAMETORRENT -> flamerPic it FLAMETORRENT -> flamerPic it
FLAMEWALL -> flamerPic it FLAMEWALL -> flamerPic it
BLOWTORCH -> flamerPic it BLOWTORCH -> flamerPic it
SPARKGUN -> teslaGunPic TESLACOIL -> teslaGunPic
TESLAGUN -> teslaGunPic
TRACTORGUN -> tractorGunPic it TRACTORGUN -> tractorGunPic it
RLAUNCHER -> rlauncherPic it RLAUNCHER -> rlauncherPic it
RLAUNCHERX _ -> rlauncherPic it RLAUNCHERX _ -> rlauncherPic it
+1 -2
View File
@@ -58,8 +58,7 @@ itemFromHeldType ht = case ht of
FLAMETORRENT -> flameTorrent FLAMETORRENT -> flameTorrent
FLAMEWALL -> flameWall FLAMEWALL -> flameWall
BLOWTORCH -> blowTorch BLOWTORCH -> blowTorch
SPARKGUN -> sparkGun TESLACOIL -> teslaCoil
TESLAGUN -> teslaGun
-- LASCIRCLE -> lasCircle -- LASCIRCLE -> lasCircle
-- DUALBEAM -> dualBeam -- DUALBEAM -> dualBeam
-- LASWIDE i -> lasWide i -- LASWIDE i -> lasWide i
+4 -11
View File
@@ -1,6 +1,5 @@
module Dodge.Item.Held.BatteryGuns ( module Dodge.Item.Held.BatteryGuns (
sparkGun, teslaCoil,
teslaGun,
laser, laser,
tractorGun, tractorGun,
) where ) where
@@ -10,17 +9,11 @@ import Dodge.Data.Item
import Dodge.Default.Item import Dodge.Default.Item
--import Geometry.Data --import Geometry.Data
sparkGun :: Item teslaCoil :: Item
sparkGun = teslaCoil =
teslaGun
& itType .~ HELD SPARKGUN
-- & itParams . arcSize .~ 10
teslaGun :: Item
teslaGun =
defHeldItem defHeldItem
& itParams .~ teslaParams & itParams .~ teslaParams
& itType .~ HELD TESLAGUN & itType .~ HELD TESLACOIL
teslaParams :: ItemParams teslaParams :: ItemParams
teslaParams = teslaParams =
+1 -2
View File
@@ -110,8 +110,7 @@ heldHandlePos = \case
FLAMETORRENT -> V2 3 0 FLAMETORRENT -> V2 3 0
FLAMEWALL -> V2 3 0 FLAMEWALL -> V2 3 0
BLOWTORCH -> V2 3 0 BLOWTORCH -> V2 3 0
SPARKGUN -> V2 3 0 TESLACOIL -> V2 3 0
TESLAGUN -> V2 3 0
TRACTORGUN -> V2 3 0 TRACTORGUN -> V2 3 0
RLAUNCHER -> V2 3 0 RLAUNCHER -> V2 3 0
RLAUNCHERX{} -> V2 3 0 RLAUNCHERX{} -> V2 3 0
+1 -2
View File
@@ -121,8 +121,7 @@ heldInfo hit = case hit of
FLAMETORRENT -> "A weapon that streams out burning fuel in a torrent." FLAMETORRENT -> "A weapon that streams out burning fuel in a torrent."
FLAMEWALL -> "A weapon that squirts out burning fuel all around the user." FLAMEWALL -> "A weapon that squirts out burning fuel all around the user."
BLOWTORCH -> "A weapon that produces a concentrated flame." BLOWTORCH -> "A weapon that produces a concentrated flame."
SPARKGUN -> "A weapon that produces an arc of electricity. The arc will attempt to discharge at a nearby object." TESLACOIL -> "An item that creates an arc of electricity."
TESLAGUN -> "A weapon that discharges a sustained arc of electricity. The arc will attempt to discharge at a nearby object."
TRACTORGUN -> "An item that produces a beam of gravitons." TRACTORGUN -> "An item that produces a beam of gravitons."
GLAUNCHER -> "A large tube that can launch projectiles." GLAUNCHER -> "A large tube that can launch projectiles."
RLAUNCHER -> "A large tube that can launch self propelled projectiles. Moving the tube after launch will cause the projectile to spin." RLAUNCHER -> "A large tube that can launch self propelled projectiles. Moving the tube after launch will cause the projectile to spin."
+1 -1
View File
@@ -20,7 +20,7 @@ itInvHeight x = case x ^. itType of
itDim :: Item -> ItemDimension itDim :: Item -> ItemDimension
itDim x = case x ^. itType of itDim x = case x ^. itType of
HELD TESLAGUN -> ItemDimension 9 (V3 4 0 0) (V3 10 (-5) 3) HELD TESLACOIL -> ItemDimension 9 (V3 4 0 0) (V3 10 (-5) 3)
LASER -> did & dimRad .~ 10 LASER -> did & dimRad .~ 10
& dimCenter .~ V3 15 0 0 & dimCenter .~ V3 15 0 0
HELD TRACTORGUN -> did & dimRad .~ 10 HELD TRACTORGUN -> did & dimRad .~ 10
+12 -4
View File
@@ -80,9 +80,10 @@ setTile r gw = case _rmFloor r of
. nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r . nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r
shuffleRoomPos :: RandomGen g => Room -> State g Room shuffleRoomPos :: RandomGen g => Room -> State g Room
shuffleRoomPos rm = do shuffleRoomPos = rmPos shuffle
newPos <- shuffle $ _rmPos rm --shuffleRoomPos rm = do
return $ rm & rmPos .~ newPos -- newPos <- shuffle $ _rmPos rm
-- return $ rm & rmPos .~ newPos
doInPlacements :: GenWorld -> GenWorld doInPlacements :: GenWorld -> GenWorld
doInPlacements w = foldl' (\gw (i,(_,f)) -> placeSpot i gw (f gw)) w doInPlacements w = foldl' (\gw (i,(_,f)) -> placeSpot i gw (f gw)) w
@@ -103,10 +104,17 @@ doIndividualPlacements gw = foldl' doRoomPlacements gw (_genRooms gw)
doRoomPlacements :: GenWorld -> Room -> GenWorld doRoomPlacements :: GenWorld -> Room -> GenWorld
doRoomPlacements w rm = foldl' (placeSpot i) (w & genRooms . ix i . rmPmnts .~ mempty) doRoomPlacements w rm = foldl' (placeSpot i) (w & genRooms . ix i . rmPmnts .~ mempty)
$ _rmPmnts rm . sortOn plPriority $ _rmPmnts rm
where where
i = rm ^?! rmMID . _Just i = rm ^?! rmMID . _Just
plPriority :: Placement -> Int
plPriority pl = case pl ^. plType of
PutChasm {} -> 0
PutBlock {} -> 1
PutDoor {} -> 2
_ -> 3
--placeSpot' :: Int -> GenWorld -> Placement -> GenWorld --placeSpot' :: Int -> GenWorld -> Placement -> GenWorld
--placeSpot' = placeSpot --placeSpot' = placeSpot
--placeSpot' i gw x = --placeSpot' i gw x =
+6 -4
View File
@@ -1,5 +1,6 @@
module Dodge.LockAndKey where module Dodge.LockAndKey where
import Dodge.Item.Ammo
import Dodge.Cleat import Dodge.Cleat
import Dodge.Creature import Dodge.Creature
import Dodge.Data.GenWorld import Dodge.Data.GenWorld
@@ -24,7 +25,7 @@ lockRoomMultiItems =
lockRoomKeyItems :: [(Int -> State LayoutVars (MetaTree Room String), State LayoutVars ItemType)] lockRoomKeyItems :: [(Int -> State LayoutVars (MetaTree Room String), State LayoutVars ItemType)]
lockRoomKeyItems = lockRoomKeyItems =
[ (lasCenSensEdge, takeOne [ HELD FLATSHIELD]) [ (lasCenSensEdge, takeOne [LASER,HELD TESLACOIL, HELD FLATSHIELD])
-- [ (lasCenSensEdge, takeOne [HELD RLAUNCHER, LASER, HELD SPARKGUN, HELD FLATSHIELD]) -- [ (lasCenSensEdge, takeOne [HELD RLAUNCHER, LASER, HELD SPARKGUN, HELD FLATSHIELD])
-- , (sensorRoomRunPast LaserSensor, return LASER) -- , (sensorRoomRunPast LaserSensor, return LASER)
-- , (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3)) -- , (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3))
@@ -59,14 +60,15 @@ itemRooms =
( LASER ( LASER
, join $ , join $
takeOne takeOne
[ rc $ map makeTypeCraft [PRISM, TRANSFORMER, PIPE] [ rc $ battery : map makeTypeCraft [PRISM, TRANSFORMER, PIPE, TRANSFORMER]
, rc $ battery : laser : [makeTypeCraft TRANSFORMER]
] ]
) )
, ,
( HELD SPARKGUN ( HELD TESLACOIL
, join $ , join $
takeOne takeOne
[ rc $ map makeTypeCraft [TRANSFORMER, CAN, CAN] [ rc (battery : map makeTypeCraft [TRANSFORMER, CAN, CAN])
] ]
) )
, ,
+1 -1
View File
@@ -90,7 +90,7 @@ damagePiezoelectric = damageStone
damagePhotovoltaic :: Damage -> ECW -> World -> (Int,World) damagePhotovoltaic :: Damage -> ECW -> World -> (Int,World)
damagePhotovoltaic dm ecw w = case dm of damagePhotovoltaic dm ecw w = case dm of
Lasering _ p t -> f dmam $ laserSpark (outTo p t) (rdir p t) Lasering _ p t -> f (3*dmam) $ laserSpark (outTo p t) (rdir p t)
Piercing _ p t -> Piercing _ p t ->
f dmam $ makeSpark NormalSpark (outTo p t) (rdir p t) f dmam $ makeSpark NormalSpark (outTo p t) (rdir p t)
. makeDustAt Stone 200 (addZ 20 (outTo p t)) . makeDustAt Stone 200 (addZ 20 (outTo p t))
+6 -6
View File
@@ -27,12 +27,12 @@ roomsContaining' crs its = do
endroom <- endroom <-
join $ join $
takeOne takeOne
[ roomPillarsSquare <&> rmPmnts ++.~ crsItmsUnused crs its [-- roomPillarsSquare <&> rmPmnts ++.~ crsItmsUnused crs its
, randomFourCornerRoomCrsIts crs its --, randomFourCornerRoomCrsIts crs its
, tanksRoom crs its --, tanksRoom crs its
, tanksPipesRoom <&> rmPmnts ++.~ crsItmsUnused crs its -- tanksPipesRoom <&> rmPmnts ++.~ crsItmsUnused crs its
, roomPillarsContaining crs its roomPillarsContaining crs its
, roomPillarsPassage <&> rmPmnts ++.~ crsItmsUnused crs its -- , roomPillarsPassage <&> rmPmnts ++.~ crsItmsUnused crs its
] ]
return (pure $ cleatOnward endroom) return (pure $ cleatOnward endroom)
+308 -243
View File
@@ -14,18 +14,15 @@ module Dodge.Room.LasTurret (
lasCenRunClose1, lasCenRunClose1,
lasCenRunCloseLongCor, lasCenRunCloseLongCor,
lasRunRand, lasRunRand,
setRoomInt, storeRoomID,
) where ) where
import Color
import Control.Monad
import Data.Foldable import Data.Foldable
import Data.Maybe import Data.Maybe
import Color -- import Data.Foldable (fold)
import Shape
import Dodge.Placement.Instance.LightSource
import Dodge.Room.Path
import Control.Monad
--import Data.Foldable (fold)
import Dodge.Room.Procedural
import qualified Data.Set as S import qualified Data.Set as S
import Dodge.Cleat import Dodge.Cleat
import Dodge.Data.GenWorld import Dodge.Data.GenWorld
@@ -38,6 +35,8 @@ import Dodge.Room.Corridor
import Dodge.Room.Door import Dodge.Room.Door
import Dodge.Room.Link import Dodge.Room.Link
import Dodge.Room.Ngon import Dodge.Room.Ngon
import Dodge.Room.Path
import Dodge.Room.Procedural
import Dodge.Room.SensorDoor import Dodge.Room.SensorDoor
import Dodge.RoomLink import Dodge.RoomLink
import Dodge.Tree import Dodge.Tree
@@ -45,54 +44,49 @@ import Dodge.Wire
import Geometry import Geometry
import LensHelp import LensHelp
import RandomHelp import RandomHelp
import Shape
-- no lights! -- no lights!
cenLasTur :: (RandomGen g) => State g Room cenLasTur :: (RandomGen g) => State g Room
cenLasTur = do cenLasTur = do
-- lshape <- takeOne [vShape, lShape, jShape, liShape]
-- let lightn i = mntLSCond (fmap (fmap $ colorSH black) lshape)
-- $ rprBool $ const . (\rp -> PolyEdge i `S.member` (fold (rp ^? rpType . rplsType)))
-- thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
roomNgon 8 200 roomNgon 8 200
<&> rmPmnts <&> rmPmnts
.~ [ putLasTurret 0.02 .~ [ putLasTurret 0.02
, heightWallPS , heightWallPS
(resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 100 <&> (,S.singleton UsedPosLow))) (resetPLUse $ rprBoolShift (const . isInLnk) (shiftInBy 120 <&> (,S.singleton UsedPosLow)))
30 30
covershape (rectWH 20 10)
-- , lightn 0
-- , lightn 3
-- , lightn 6
] ]
<&> rmPath %~ addNodesCrossingCirc 0 30 <&> rmPath
where %~ addNodesCrossingCirc 0 30
covershape = rectNSWE 10 (-10) (-20) 20
lightSensInsideDoor :: Int -> Room -> Room lightSensInsideDoor :: Int -> Room -> Room
lightSensInsideDoor i rm = lightSensInsideDoor i =
rm rmPmnts
& rmPmnts .++~ [ psPt atFstLnkOut (PutForeground $ floorWire (V2 20 0) (V2 20 (-x)))
.++~ [ psPt atFstLnkOut (PutForeground $ floorWire (V2 20 0) (V2 20 (-100))) , psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-x)) (V2 20 (-x)))
, psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100)))
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80) , psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
, sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i , sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward x) & plExternalID ?~ i
] ]
where
x = 120
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100) -- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)
lightSensByDoor :: Int -> Room -> Room lightSensByDoor :: Int -> Room -> State LayoutVars Room
lightSensByDoor i rm = lightSensByDoor i rm = do
rm x <- takeOne [100, 120, 140]
& rmPmnts y <- takeOne [100, 110, 120]
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80 sh1 <- takeOne [rectWH 20 10, square 20]
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape return $
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape rm
, sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i & rmPmnts
] .++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
, heightWallPS (atNthLnkOutShiftInward 1 x) 30 sh1
, heightWallPS (atFstLnkOutShiftInward y) 30 (rectWH 20 10)
, sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift) & plExternalID ?~ i
]
where where
-- & rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)
covershape = rectNSWE 10 (-10) (-20) 20
sensorshift (p, a) = ((p +.+ rotateV a (V2 60 (-20)), a), S.singleton UsedPosLow) sensorshift (p, a) = ((p +.+ rotateV a (V2 60 (-20)), a), S.singleton UsedPosLow)
keyCardRoomRunPast :: (RandomGen g) => Int -> Int -> State g (MetaTree Room String) keyCardRoomRunPast :: (RandomGen g) => Int -> Int -> State g (MetaTree Room String)
@@ -148,34 +142,32 @@ lasSensorTurretTest :: State LayoutVars (MetaTree Room String)
lasSensorTurretTest = do lasSensorTurretTest = do
n <- nextLayoutInt n <- nextLayoutInt
cenroom' <- shuffleLinks . lightSensInsideDoor n =<< cenLasTur cenroom' <- shuffleLinks . lightSensInsideDoor n =<< cenLasTur
(i,cenroom'') <- setRoomInt cenroom' (i, cenroom'') <- storeRoomID cenroom'
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))
let cenroom = cenroom'' let cenroom =
& rmInPmnt <>~ cenroom''
[(0, alight pi . f i) & rmInPmnt
,(0, alight (0.5*pi) . f i) <>~ [ (0, alight pi . f i)
,(0, alight (1.5*pi) . f i)] , (0, alight (0.5 * pi) . f i)
, (0, alight (1.5 * pi) . f i)
]
rToOnward "lasSensorTurretTest" $ rToOnward "lasSensorTurretTest" $
treePost treePost
[door, cenroom, triggerDoorRoom n, cleatOnward door] [door, cenroom, triggerDoorRoom n, cleatOnward door]
where where
f i gw = fromJust $ find (isused ._rpType) (gw ^?! genRooms . ix (gw ^?! genInts . ix i) . rmPos) f i gw = fromJust $ find (isused . _rpType) (getRoomFromID i gw ^. rmPos)
isused UsedOutLink{_rplsChildNum = 0} = True isused UsedOutLink{_rplsChildNum = 0} = True
isused _ = False isused _ = False
-- note the double usage of the int, shouldn't cause a problem -- note the double usage of the int, shouldn't cause a problem
lasCenSensEdge :: Int -> State LayoutVars (MetaTree Room String) lasCenSensEdge :: Int -> State LayoutVars (MetaTree Room String)
lasCenSensEdge n = do lasCenSensEdge n = do
cenroom' <- (shuffleLinks . lightSensByDoor n =<< cenLasTur) (i, cenroom') <- storeRoomID =<< shuffleLinks =<< lightSensByDoor n =<< cenLasTur
(i,cenroom'') <- setRoomInt cenroom'
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))
let cenroom = cenroom'' blight a = (0, alight a . f i)
& rmInPmnt <>~ let cenroom = cenroom' & rmInPmnt <>~ map blight [pi, (0.5 * pi), (1.5 * pi)]
[(0, alight pi . f i)
,(0, alight (0.5*pi) . f i)
,(0, alight (1.5*pi) . f i)]
let doorroom = triggerDoorRoom n let doorroom = triggerDoorRoom n
rToOnward "lasCenSensEdge" $ rToOnward "lasCenSensEdge" $
treeFromTrunk [door] $ treeFromTrunk [door] $
@@ -185,270 +177,343 @@ lasCenSensEdge n = do
, treePost [door, cleatLabel n corridor] , treePost [door, cleatLabel n corridor]
] ]
where where
f i gw = fromJust $ find (isused ._rpType) (gw ^?! genRooms . ix (gw ^?! genInts . ix i) . rmPos) f i gw = fromJust $ find (isused . _rpType) (getRoomFromID i gw ^. rmPos)
isused UsedOutLink{_rplsChildNum = 0} = True isused UsedOutLink{_rplsChildNum = 0} = True
isused _ = False isused _ = False
setRoomInt :: Room -> State LayoutVars (Int, Room) storeRoomID :: Room -> State LayoutVars (Int, Room)
setRoomInt x = do storeRoomID x = do
i <- nextLayoutInt i <- nextLayoutInt
return (i, x & rmPmnts .:~ sps0 (PutWorldUpdate (f i))) return (i, x & rmPmnts .:~ sps0 (PutWorldUpdate (f i)))
where where
f i rid _ gw = gw & genInts . at i ?~ (gw ^?! genRooms . ix rid . rmMID . _Just) 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 :: (RandomGen g) => State g (MetaTree Room String)
lasRunYinYang = do lasRunYinYang = do
npoly <- takeOne [6,8,10,12] npoly <- takeOne [6, 8, 10, 12]
thelight <- mntLightLnkCond $ rprBool $ const . isInLnk thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk
thelight2 <- mntLightLnkCond $ rprBool $ const . (\rp -> PolyEdge ((npoly + 1) `div` 4) `S.member` thelight2 <-
(fold $ rp ^? rpType . rplsType)) mntLightLnkCond $
thelight3 <- mntLightLnkCond $ rprBool $ const . (\rp -> PolyEdge (3*(npoly + 1) `div` 4) `S.member` rprBool $
(fold $ rp ^? rpType . rplsType)) const
r <- shuffleLinks =<< . ( \rp ->
(roomNgon npoly 250 PolyEdge ((npoly + 1) `div` 4)
<&> rmPmnts `S.member` (fold $ rp ^? rpType . rplsType)
.~ )
[angwall a | a <- [0,pi/8..pi-pi/9]] <> thelight3 <-
[bngwall a | a <- [0,pi/8..pi-pi/9]] <> mntLightLnkCond $
[ awall 0 (rectWH 15 5) rprBool $
, putLasTurret 0.02 & plSpot . psPos .~ negate offxy const
, putLasTurret 0.02 & plSpot . psPos .~ offxy . ( \rp ->
-- , awall (V2 0 50) (square 10) PolyEdge (3 * (npoly + 1) `div` 4)
, thelight `S.member` (fold $ rp ^? rpType . rplsType)
, thelight1 )
, thelight2 r <-
, thelight3 shuffleLinks
] =<< ( roomNgon npoly 250
<&> rmPath %~ (addNodesCrossingCirc 0 30 <&> rmPmnts
. flip (foldr ($)) [apath a | a <- [0,pi/8..pi-2*pi/9]] .~ [angwall a | a <- [0, pi / 8 .. pi - pi / 9]]
. flip (foldr ($)) [bpath a | a <- [0,pi/8..pi-2*pi/9]] <> [bngwall a | a <- [0, pi / 8 .. pi - pi / 9]]
) <> [ awall 0 (rectWH 15 5)
<&> rmLinks %~ setInLinksByType (PolyEdge 0) , putLasTurret 0.02 & plSpot . psPos .~ negate offxy
<&> rmLinks %~ setOutLinksByType (PolyEdge (npoly `div` 2)) , putLasTurret 0.02 & plSpot . psPos .~ offxy
) , -- , awall (V2 0 50) (square 10)
thelight
, thelight1
, thelight2
, thelight3
]
<&> rmPath
%~ ( addNodesCrossingCirc 0 30
. flip (foldr ($)) [apath a | a <- [0, pi / 8 .. pi - 2 * pi / 9]]
. flip (foldr ($)) [bpath a | a <- [0, pi / 8 .. pi - 2 * pi / 9]]
)
<&> rmLinks
%~ setInLinksByType (PolyEdge 0)
<&> rmLinks
%~ setOutLinksByType (PolyEdge (npoly `div` 2))
)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
where where
awall x v = heightWallPS (PS x 0) 30 v awall x v = heightWallPS (PS x 0) 30 v
--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)) (fmap (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))) (fmap (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
f = rotateV (pi/4 + a *0.8) f = rotateV (pi / 4 + a * 0.8)
lasRunYinYangCenter :: (RandomGen g) => State g (MetaTree Room String) lasRunYinYangCenter :: (RandomGen g) => State g (MetaTree Room String)
lasRunYinYangCenter = do lasRunYinYangCenter = do
npoly <- takeOne [6,8,10,12] npoly <- takeOne [6, 8, 10, 12]
thelight <- mntLightLnkCond $ rprBool $ const . isInLnk thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk
thelight2 <- mntLightLnkCond $ rprBool $ const . (\rp -> PolyEdge ((npoly + 1) `div` 4) `S.member` thelight2 <-
(fold $ rp ^? rpType . rplsType)) mntLightLnkCond $
thelight3 <- mntLightLnkCond $ rprBool $ const . (\rp -> PolyEdge (3*(npoly + 1) `div` 4) `S.member` rprBool $
(fold $ rp ^? rpType . rplsType)) const
-- thelight3 <- mntLightLnkCond $ rprBool $ const . isOutLnk . ( \rp ->
r <- shuffleLinks =<< PolyEdge ((npoly + 1) `div` 4)
(roomNgon npoly 250 `S.member` (fold $ rp ^? rpType . rplsType)
<&> rmPmnts )
.~ thelight3 <-
[angwall a | a <- [0,pi/8..pi-pi/9]] <> mntLightLnkCond $
[bngwall a | a <- [0,pi/8..pi-pi/9]] <> rprBool $
[ putLasTurret 0.02 const
-- , awall (V2 0 50) (square 10) . ( \rp ->
, thelight PolyEdge (3 * (npoly + 1) `div` 4)
, thelight1 `S.member` (fold $ rp ^? rpType . rplsType)
, thelight2 )
, thelight3 -- thelight3 <- mntLightLnkCond $ rprBool $ const . isOutLnk
] r <-
<&> rmPath %~ (addNodesCrossingCirc 0 30 shuffleLinks
. flip (foldr ($)) [apath a | a <- [0,pi/8..pi-2*pi/9]] =<< ( roomNgon npoly 250
. flip (foldr ($)) [bpath a | a <- [0,pi/8..pi-2*pi/9]] <&> rmPmnts
) .~ [angwall a | a <- [0, pi / 8 .. pi - pi / 9]]
<&> rmLinks %~ setInLinksByType (PolyEdge 0) <> [bngwall a | a <- [0, pi / 8 .. pi - pi / 9]]
<&> rmLinks %~ setOutLinksByType (PolyEdge (npoly `div` 2)) <> [ putLasTurret 0.02
) , -- , awall (V2 0 50) (square 10)
thelight
, thelight1
, thelight2
, thelight3
]
<&> rmPath
%~ ( addNodesCrossingCirc 0 30
. flip (foldr ($)) [apath a | a <- [0, pi / 8 .. pi - 2 * pi / 9]]
. flip (foldr ($)) [bpath a | a <- [0, pi / 8 .. pi - 2 * pi / 9]]
)
<&> rmLinks
%~ setInLinksByType (PolyEdge 0)
<&> rmLinks
%~ setOutLinksByType (PolyEdge (npoly `div` 2))
)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
where where
awall x v = heightWallPS (PS x 0) 30 v awall x v = heightWallPS (PS x 0) 30 v
--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)) (fmap (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))) (fmap (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
f = rotateV (pi/4 + a *0.8) f = rotateV (pi / 4 + a * 0.8)
lasCenRunClose' :: (RandomGen g) => State g (MetaTree Room String) lasCenRunClose' :: (RandomGen g) => State g (MetaTree Room String)
lasCenRunClose' = do lasCenRunClose' = do
npoly <- takeOne [5..12] npoly <- takeOne [5 .. 12]
inwall <- takeOne obwalls inwall <- takeOne obwalls
outwall <- takeOne obwalls outwall <- takeOne obwalls
thelight <- mntLightLnkCond $ rprBool $ const . isInLnk thelight <- mntLightLnkCond $ rprBool $ const . isInLnk
thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk thelight1 <- mntLightLnkCond $ rprBool $ const . isOutLnk
r <- shuffleLinks =<< r <-
(roomNgon npoly 250 shuffleLinks
<&> rmPmnts =<< ( roomNgon npoly 250
.~ ( <&> rmPmnts
fmap (uncurry inlinkwall) inwall <> .~ ( fmap (uncurry inlinkwall) inwall
fmap (uncurry outlinkwall) outwall <> <> fmap (uncurry outlinkwall) outwall
[ putLasTurret 0.02 <> [ putLasTurret 0.02
, thelight , thelight
, thelight1 , thelight1
] ]
)
<&> rmPath
%~ addNodesCrossingCirc 0 30
<&> rmLinks
%~ setInLinksByType (PolyEdge 0)
<&> rmLinks
%~ setOutLinks (\rl -> or [PolyEdge i `S.member` _rlType rl | i <- [2 .. npoly - 2]])
) )
<&> rmPath %~ addNodesCrossingCirc 0 30
<&> rmLinks %~ setInLinksByType (PolyEdge 0)
<&> rmLinks %~ setOutLinks (\rl -> or [PolyEdge i `S.member` _rlType rl | i <- [2..npoly-2]])
)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
where where
swall = [ (70, (rectNSWE 10 (-10) (-10) 30)) swall =
, (125, (rectNSWE 55 (-55) (-10) 10)) [ (70, (rectNSWE 10 (-10) (-10) 30))
, (180, (rectNSWE 10 (-10) (-30) 10)) , (125, (rectNSWE 55 (-55) (-10) 10))
] , (180, (rectNSWE 10 (-10) (-30) 10))
zwall = [ (70, (rectNSWE 10 (-10) (-30) 10)) ]
, (125, (rectNSWE 55 (-55) (-10) 10)) zwall =
, (180, (rectNSWE 10 (-10) (-10) 30)) [ (70, (rectNSWE 10 (-10) (-30) 10))
] , (125, (rectNSWE 55 (-55) (-10) 10))
iwall = [ (70, (rectNSWE 10 (-10) (-15) 20)) , (180, (rectNSWE 10 (-10) (-10) 30))
, (180, (rectNSWE 10 (-10) (-30) (-5))) ]
] iwall =
jwall = [ (70, (rectNSWE 10 (-10) (-20) 15)) [ (70, (rectNSWE 10 (-10) (-15) 20))
, (180, (rectNSWE 10 (-10) 5 30)) , (180, (rectNSWE 10 (-10) (-30) (-5)))
] ]
uwall = [ (180, (rectNSWE 10 (-10) (-20) 20)) ] jwall =
obwalls = [swall,zwall,iwall,jwall,uwall] [ (70, (rectNSWE 10 (-10) (-20) 15))
linkwall f x = heightWallPS , (180, (rectNSWE 10 (-10) 5 30))
(resetPLUse $ rprBoolShift (const . f) (shiftInBy x <&> (,S.singleton UsedPosLow))) ]
30 uwall = [(180, (rectNSWE 10 (-10) (-20) 20))]
obwalls = [swall, zwall, iwall, jwall, uwall]
linkwall f x =
heightWallPS
(resetPLUse $ rprBoolShift (const . f) (shiftInBy x <&> (,S.singleton UsedPosLow)))
30
inlinkwall = linkwall isInLnk inlinkwall = linkwall isInLnk
outlinkwall = linkwall isOutLnk outlinkwall = linkwall isOutLnk
lasCenRunCloseLongCor :: (RandomGen g) => State g (MetaTree Room String) lasCenRunCloseLongCor :: (RandomGen g) => State g (MetaTree Room String)
lasCenRunCloseLongCor = do lasCenRunCloseLongCor = do
(alinks,blinks) <- shufflePair (rlinks,llinks) (alinks, blinks) <- shufflePair (rlinks, llinks)
rdir <- takeOne [negate,id] rdir <- takeOne [negate, id]
a <- takeOne [5*pi/16] a <- takeOne [5 * pi / 16]
let h = 800 let h = 800
laspos <- takeOne [V2 (h/2) 80] laspos <- takeOne [V2 (h / 2) 80]
ls <- mntLightLnkCond (PS (V2 (h/2) 0) pi) ls <- mntLightLnkCond (PS (V2 (h / 2) 0) pi)
r <- shuffleLinks =<< r <-
(roomRectAutoLights h 160 shuffleLinks
<&> rmPmnts =<< ( roomRectAutoLights h 160
<>~ [ putLasTurret 0.02 & plSpot .~ PS laspos a <&> rmPmnts
, awall (V2 (h /4) 80) (rotateV (rdir pi/16) <$> rectWH 180 10) <>~ [ putLasTurret 0.02 & plSpot .~ PS laspos a
, awall (V2 (3*h/4) 80) (rotateV (rdir pi/16) <$> rectWH 180 10) , awall (V2 (h / 4) 80) (rotateV (rdir pi / 16) <$> rectWH 180 10)
, ls , awall (V2 (3 * h / 4) 80) (rotateV (rdir pi / 16) <$> rectWH 180 10)
] , ls
<&> rmLinks %~ setInLinks alinks ]
<&> rmLinks %~ setOutLinks blinks <&> rmLinks
<&> rmPath %~ %~ setInLinks alinks
(addNodesCrossing (V2 (h/2-10) 30,V2 (h/2+50) 90) <&> rmLinks
.addNodesCrossing (V2 (h/2+10) 130,V2 (h/2-50) 70) ) %~ setOutLinks blinks
) <&> rmPath
%~ ( addNodesCrossing (V2 (h / 2 - 10) 30, V2 (h / 2 + 50) 90)
. addNodesCrossing (V2 (h / 2 + 10) 130, V2 (h / 2 - 50) 70)
)
)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
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 v = heightWallPS (PS x 0) 30 v
memtest a b x = let y = _rlType x memtest a b x =
in a `S.member` y && b `S.member` y let y = _rlType x
in a `S.member` y && b `S.member` y
lasCenRunClose1 :: (RandomGen g) => State g (MetaTree Room String) lasCenRunClose1 :: (RandomGen g) => State g (MetaTree Room String)
lasCenRunClose1 = do lasCenRunClose1 = do
--(alinks,blinks) <- shufflePair (bllinks,brlinks) -- (alinks,blinks) <- shufflePair (bllinks,brlinks)
--(alinks,blinks) <- shufflePair (bllinks,tmllink) -- (alinks,blinks) <- shufflePair (bllinks,tmllink)
lnks <- shuffle [bllinks,brlinks,tmllink,tmrlink] lnks <- shuffle [bllinks, brlinks, tmllink, tmrlink]
let alinks = lnks !! 0 let alinks = lnks !! 0
blinks = lnks !! 1 blinks = lnks !! 1
outwall <- takeOne [awall (V2 185 25) (rectWH 10 50) outwall <-
, awall (V2 200 50) (rectWH 50 10) ] takeOne
[ awall (V2 185 25) (rectWH 10 50)
, awall (V2 200 50) (rectWH 50 10)
]
let z = 35 let z = 35
r <- roomRectAutoLights 250 200 r <-
<&> rmPolys .~ [[V2 0 0, V2 250 0 roomRectAutoLights 250 200
, V2 250 (200-z) <&> rmPolys
, V2 (250 - z) 200 .~ [
, V2 z 200 [ V2 0 0
, V2 0 (200-z) , V2 250 0
]] , V2 250 (200 - z)
, V2 (250 - z) 200
, V2 z 200
, V2 0 (200 - z)
]
]
<&> rmPmnts <&> rmPmnts
<>~ [ putLasTurret 0.02 & plSpot .~ PS (V2 125 100) 0 <>~ [ putLasTurret 0.02 & plSpot .~ PS (V2 125 100) 0
, awall (V2 65 25) (rectWH 10 50) , awall (V2 65 25) (rectWH 10 50)
, outwall , outwall
, awall (V2 95 150) (rectWH 10 20) , awall (V2 95 150) (rectWH 10 20)
, awall (V2 155 150) (rectWH 10 20) , awall (V2 155 150) (rectWH 10 20)
, sps0 $ putConvexChasm $ rectNSWE 200 110 105 145 , sps0 $ putConvexChasm $ rectNSWE 200 110 105 145
-- , awall (V2 150 215) (rectWH 60 10) -- , awall (V2 150 215) (rectWH 60 10)
] ]
<&> rmLinks %~ setInLinks alinks <&> rmLinks
-- <&> rmLinks %~ setOutLinks (memtest (OnEdge South) (FromEdge West 3)) %~ setInLinks alinks
<&> rmLinks %~ setOutLinks blinks -- <&> rmLinks %~ setOutLinks (memtest (OnEdge South) (FromEdge West 3))
<&> rmLinks . each %~ mvlinks <&> rmLinks
<&> rmPath %~ S.map (both %~ mvpath) %~ setOutLinks blinks
<&> rmLinks
. each
%~ mvlinks
<&> rmPath
%~ S.map (both %~ mvpath)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
where where
mvlinks lnk | tmllink lnk = lnk & rlPos -~ V2 20 0 mvlinks lnk
| tmllink lnk = lnk & rlPos -~ V2 20 0
| tmrlink lnk = lnk & rlPos +~ V2 20 0 | tmrlink lnk = lnk & rlPos +~ V2 20 0
| otherwise = lnk | otherwise = lnk
mvpath (V2 x y) | y > 190 , x > 50 , x < 125 = V2 (x- 20) y mvpath (V2 x y)
| y > 190 , x > 125 , x < 200 = V2 (x+ 20) y | y > 190, x > 50, x < 125 = V2 (x - 20) y
| y > 190, x > 125, x < 200 = V2 (x + 20) y
| otherwise = V2 x y | otherwise = V2 x y
tmllink = memtest (FromEdge West 1) (OnEdge North) tmllink = memtest (FromEdge West 1) (OnEdge North)
tmrlink = memtest (FromEdge West 2) (OnEdge North) tmrlink = memtest (FromEdge West 2) (OnEdge North)
bllinks = etest bllinks =
(memtest (FromEdge West 0) (OnEdge South)) etest
(memtest (FromEdge South 0) (OnEdge West)) (memtest (FromEdge West 0) (OnEdge South))
brlinks = etest (memtest (FromEdge South 0) (OnEdge West))
(memtest (FromEdge East 0) (OnEdge South)) brlinks =
(memtest (FromEdge South 0) (OnEdge East)) etest
(memtest (FromEdge East 0) (OnEdge South))
(memtest (FromEdge South 0) (OnEdge East))
awall x v = heightWallPS (PS x 0) 30 v awall x v = heightWallPS (PS x 0) 30 v
etest f g x = f x || g x etest f g x = f x || g x
memtest a b x = let y = _rlType x memtest a b x =
in a `S.member` y && b `S.member` y let y = _rlType x
in a `S.member` y && b `S.member` y
lasRunRand :: (RandomGen g) => State g (MetaTree Room String) lasRunRand :: (RandomGen g) => State g (MetaTree Room String)
lasRunRand = join $ takeOne [lasCenRunClose2,lasCenRunClose1] lasRunRand = join $ takeOne [lasCenRunClose2, lasCenRunClose1]
lasCenRunClose2 :: (RandomGen g) => State g (MetaTree Room String) lasCenRunClose2 :: (RandomGen g) => State g (MetaTree Room String)
lasCenRunClose2 = do lasCenRunClose2 = do
(alinks,blinks) <- shufflePair (bllinks,trlinks) (alinks, blinks) <- shufflePair (bllinks, trlinks)
a <- takeOne [3*pi/2,3*pi/4] a <- takeOne [3 * pi / 2, 3 * pi / 4]
laspos <- takeOne [V2 60 190, V2 65 185] laspos <- takeOne [V2 60 190, V2 65 185]
r <- shuffleLinks =<< r <-
(roomRectAutoLights 250 250 shuffleLinks
<&> rmPmnts =<< ( roomRectAutoLights 250 250
<>~ [ putLasTurret 0.02 & plSpot .~ PS laspos a <&> rmPmnts
, awall (V2 35 100) (rectWH 10 60) <>~ [ putLasTurret 0.02 & plSpot .~ PS laspos a
, awall (V2 150 215) (rectWH 60 10) , awall (V2 35 100) (rectWH 10 60)
] , awall (V2 150 215) (rectWH 60 10)
<&> rmLinks %~ setInLinks alinks ]
<&> rmLinks %~ setOutLinks blinks <&> rmLinks
<&> rmPath %~ (addNodesCrossing (V2 110 170,V2 30 250) %~ setInLinks alinks
.addNodesCrossing (V2 70 150,V2 10 210) ) <&> rmLinks
) %~ setOutLinks blinks
<&> rmPath
%~ ( addNodesCrossing (V2 110 170, V2 30 250)
. addNodesCrossing (V2 70 150, V2 10 210)
)
)
rToOnward "lasCenRunClose" $ return $ cleatOnward r rToOnward "lasCenRunClose" $ return $ cleatOnward r
where where
bllinks = etest bllinks =
(memtest (FromEdge West 0) (OnEdge South)) etest
(memtest (FromEdge South 0) (OnEdge West)) (memtest (FromEdge West 0) (OnEdge South))
trlinks = etest (memtest (FromEdge South 0) (OnEdge West))
(memtest (FromEdge East 0) (OnEdge North)) trlinks =
(memtest (FromEdge North 0) (OnEdge East)) etest
(memtest (FromEdge East 0) (OnEdge North))
(memtest (FromEdge North 0) (OnEdge East))
awall x v = heightWallPS (PS x 0) 30 v awall x v = heightWallPS (PS x 0) 30 v
etest f g x = f x || g x etest f g x = f x || g x
memtest a b x = let y = _rlType x memtest a b x =
in a `S.member` y && b `S.member` y let y = _rlType x
in a `S.member` y && b `S.member` y
lasTunnel :: (RandomGen g) => Float -> State g Room lasTunnel :: (RandomGen g) => Float -> State g Room
lasTunnel y = do lasTunnel y = do
+3 -4
View File
@@ -53,8 +53,7 @@ tutAnoTree = do
foldMTRS foldMTRS
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor , corDoor
, lasSensorTurretTest , passthroughLockKeyLists lockRoomKeyItems itemRooms
--ccc , passthroughLockKeyLists lockRoomKeyItems itemRooms
--bbb , -- , return . tToBTree "door" $ treePost [corridor, cleatOnward door] --bbb , -- , return . tToBTree "door" $ treePost [corridor, cleatOnward door]
--bbb corDoor --bbb corDoor
--bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor) --bbb , -- , tToBTree "cor" . return <$> shuffleLinks (cleatOnward corridor)
@@ -107,7 +106,7 @@ foldMTRS xs = do
setTreeInts :: Tree Room -> State LayoutVars ([Int], Tree Room) setTreeInts :: Tree Room -> State LayoutVars ([Int], Tree Room)
setTreeInts x = do setTreeInts x = do
y <- traverse setRoomInt x y <- traverse storeRoomID x
return (foldMap ((: []) . fst) y, fmap snd y) return (foldMap ((: []) . fst) y, fmap snd y)
tutDrop :: State LayoutVars (MetaTree Room String) tutDrop :: State LayoutVars (MetaTree Room String)
@@ -115,7 +114,7 @@ tutDrop = do
x <- shuffleLinks =<< roomNgon 6 100 x <- shuffleLinks =<< roomNgon 6 100
i <- nextLayoutInt i <- nextLayoutInt
-- let y = decontamRoom i -- let y = decontamRoom i
(j, y) <- setRoomInt (decontamRoom i) (j, y) <- storeRoomID (decontamRoom i)
rm <- roomRectAutoLights 40 100 rm <- roomRectAutoLights 40 100
return $ return $
tToBTree "TutDrop" $ tToBTree "TutDrop" $
+1 -2
View File
@@ -183,8 +183,7 @@ heldAimZoom = \case
FLAMETORRENT -> 1 FLAMETORRENT -> 1
FLAMEWALL -> 1 FLAMEWALL -> 1
BLOWTORCH -> 1 BLOWTORCH -> 1
SPARKGUN -> 1 TESLACOIL -> 1.5
TESLAGUN -> 1.5
TRACTORGUN -> 1.5 TRACTORGUN -> 1.5
RLAUNCHER -> 1.5 RLAUNCHER -> 1.5
RLAUNCHERX{} -> 1.5 RLAUNCHERX{} -> 1.5
+162 -163
View File
@@ -87,8 +87,8 @@ BATTERYPACK src/Dodge/Data/Item/Combine.hs 135;" C
BELTMAG src/Dodge/Data/Item/Combine.hs 109;" C BELTMAG src/Dodge/Data/Item/Combine.hs 109;" C
BINGATE src/Dodge/Data/Item/Combine.hs 31;" C BINGATE src/Dodge/Data/Item/Combine.hs 31;" C
BLACK src/Color/Data.hs 25;" C BLACK src/Color/Data.hs 25;" C
BLINKER src/Dodge/Data/Item/Combine.hs 178;" C BLINKER src/Dodge/Data/Item/Combine.hs 177;" C
BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 179;" C BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 178;" C
BLOWTORCH src/Dodge/Data/Item/Combine.hs 166;" C BLOWTORCH src/Dodge/Data/Item/Combine.hs 166;" C
BLUE src/Color/Data.hs 14;" C BLUE src/Color/Data.hs 14;" C
BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 149;" C BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 149;" C
@@ -175,7 +175,7 @@ CLICKER src/Dodge/Data/Item/Combine.hs 27;" C
COMPRESSOR src/Dodge/Data/Item/Combine.hs 103;" C COMPRESSOR src/Dodge/Data/Item/Combine.hs 103;" C
COPIER src/Dodge/Data/Item/Combine.hs 28;" C COPIER src/Dodge/Data/Item/Combine.hs 28;" C
CRAFT src/Dodge/Data/Item/Combine.hs 18;" C CRAFT src/Dodge/Data/Item/Combine.hs 18;" C
CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 184;" C CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 183;" C
CREATURESENSOR src/Dodge/Data/Item/Combine.hs 84;" C CREATURESENSOR src/Dodge/Data/Item/Combine.hs 84;" C
CWGen src/Dodge/Data/CWorld.hs 39;" t CWGen src/Dodge/Data/CWorld.hs 39;" t
CWorld src/Dodge/Data/CWorld.hs 23;" t CWorld src/Dodge/Data/CWorld.hs 23;" t
@@ -320,7 +320,7 @@ DefaultRoomType src/Dodge/Data/Room.hs 32;" C
DestroyBeing src/Dodge/Data/Scenario.hs 8;" C DestroyBeing src/Dodge/Data/Scenario.hs 8;" C
DestroyBullet src/Dodge/Data/Bullet.hs 27;" C DestroyBullet src/Dodge/Data/Bullet.hs 27;" C
DestroyItem src/Dodge/Data/Scenario.hs 7;" C DestroyItem src/Dodge/Data/Scenario.hs 7;" C
Detector src/Dodge/Data/Item/Combine.hs 182;" t Detector src/Dodge/Data/Item/Combine.hs 181;" t
Dirt src/Dodge/Data/Material.hs 12;" C Dirt src/Dodge/Data/Material.hs 12;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t DisasterType src/Dodge/Data/Scenario.hs 24;" t
DisplayTerminal src/Dodge/Data/HUD.hs 27;" C DisplayTerminal src/Dodge/Data/HUD.hs 27;" C
@@ -403,7 +403,7 @@ FLAMESPITTER src/Dodge/Data/Item/Combine.hs 162;" C
FLAMETHROWER src/Dodge/Data/Item/Combine.hs 163;" C FLAMETHROWER src/Dodge/Data/Item/Combine.hs 163;" C
FLAMETORRENT src/Dodge/Data/Item/Combine.hs 164;" C FLAMETORRENT src/Dodge/Data/Item/Combine.hs 164;" C
FLAMEWALL src/Dodge/Data/Item/Combine.hs 165;" C FLAMEWALL src/Dodge/Data/Item/Combine.hs 165;" C
FLATSHIELD src/Dodge/Data/Item/Combine.hs 176;" C FLATSHIELD src/Dodge/Data/Item/Combine.hs 175;" C
FRONTARMOUR src/Dodge/Data/Item/Combine.hs 123;" C FRONTARMOUR src/Dodge/Data/Item/Combine.hs 123;" C
FUELCELL src/Dodge/Data/Item/Combine.hs 86;" C FUELCELL src/Dodge/Data/Item/Combine.hs 86;" C
FUELPACK src/Dodge/Data/Item/Combine.hs 132;" C FUELPACK src/Dodge/Data/Item/Combine.hs 132;" C
@@ -463,7 +463,7 @@ GBounce src/Dodge/Data/Projectile.hs 46;" C
GEqC src/SameConstr.hs 20;" c GEqC src/SameConstr.hs 20;" c
GIMBAL src/Dodge/Data/Item/Combine.hs 95;" C GIMBAL src/Dodge/Data/Item/Combine.hs 95;" C
GLASSSHARD src/Dodge/Data/Item/Combine.hs 60;" C GLASSSHARD src/Dodge/Data/Item/Combine.hs 60;" C
GLAUNCHER src/Dodge/Data/Item/Combine.hs 172;" C GLAUNCHER src/Dodge/Data/Item/Combine.hs 171;" C
GRAPECANNON src/Dodge/Data/Item/Combine.hs 150;" C GRAPECANNON src/Dodge/Data/Item/Combine.hs 150;" C
GREEN src/Color/Data.hs 13;" C GREEN src/Color/Data.hs 13;" C
GStick src/Dodge/Data/Projectile.hs 47;" C GStick src/Dodge/Data/Projectile.hs 47;" C
@@ -551,7 +551,7 @@ IMSS src/Dodge/Data/SelectionList.hs 38;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 125;" C INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 125;" C
IRONBAR src/Dodge/Data/Item/Combine.hs 78;" C IRONBAR src/Dodge/Data/Item/Combine.hs 78;" C
ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 183;" C ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 182;" C
ITEMSCAN src/Dodge/Data/Item/Combine.hs 24;" C ITEMSCAN src/Dodge/Data/Item/Combine.hs 24;" C
ImmediateEffect src/Loop/Data.hs 8;" C ImmediateEffect src/Loop/Data.hs 8;" C
Importance src/Shape/Data.hs 29;" t Importance src/Shape/Data.hs 29;" t
@@ -617,12 +617,12 @@ JUMPLEGS src/Dodge/Data/Item/Combine.hs 131;" C
JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C
Just' src/MaybeHelp.hs 11;" C Just' src/MaybeHelp.hs 11;" C
JustStartedPlaying src/Sound/Data.hs 22;" C JustStartedPlaying src/Sound/Data.hs 22;" C
KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C KEYCARD src/Dodge/Data/Item/Combine.hs 176;" C
Kill src/Dodge/Data/ActionPlan.hs 151;" C Kill src/Dodge/Data/ActionPlan.hs 151;" C
LASER src/Dodge/Data/Item/Combine.hs 35;" C LASER src/Dodge/Data/Item/Combine.hs 35;" C
LDP src/Dodge/Data/SelectionList.hs 13;" C LDP src/Dodge/Data/SelectionList.hs 13;" C
LDParams src/Dodge/Data/SelectionList.hs 13;" t LDParams src/Dodge/Data/SelectionList.hs 13;" t
LED src/Dodge/Data/Item/Combine.hs 175;" C LED src/Dodge/Data/Item/Combine.hs 174;" C
LIGHTER src/Dodge/Data/Item/Combine.hs 66;" C LIGHTER src/Dodge/Data/Item/Combine.hs 66;" C
LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 79;" C LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 79;" C
LS src/Dodge/Data/LightSource.hs 21;" C LS src/Dodge/Data/LightSource.hs 21;" C
@@ -956,7 +956,7 @@ PJStabiliser src/Dodge/Projectile/Create.hs 16;" t
PLANK src/Dodge/Data/Item/Combine.hs 59;" C PLANK src/Dodge/Data/Item/Combine.hs 59;" C
PLATE src/Dodge/Data/Item/Combine.hs 69;" C PLATE src/Dodge/Data/Item/Combine.hs 69;" C
PLUS src/Dodge/Data/GenParams.hs 18;" C PLUS src/Dodge/Data/GenParams.hs 18;" C
POISONSPRAYER src/Dodge/Data/Item/Combine.hs 173;" C POISONSPRAYER src/Dodge/Data/Item/Combine.hs 172;" C
PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 87;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 87;" C
POWERLEGS src/Dodge/Data/Item/Combine.hs 129;" C POWERLEGS src/Dodge/Data/Item/Combine.hs 129;" C
PRISM src/Dodge/Data/Item/Combine.hs 65;" C PRISM src/Dodge/Data/Item/Combine.hs 65;" C
@@ -1071,8 +1071,8 @@ REMOTESCREEN src/Dodge/Data/Item/Combine.hs 93;" C
REWINDER src/Dodge/Data/Item/Combine.hs 141;" C REWINDER src/Dodge/Data/Item/Combine.hs 141;" C
RGBA src/Color/Data.hs 28;" t RGBA src/Color/Data.hs 28;" t
RIFLE src/Dodge/Data/Item/Combine.hs 153;" C RIFLE src/Dodge/Data/Item/Combine.hs 153;" C
RLAUNCHER src/Dodge/Data/Item/Combine.hs 170;" C RLAUNCHER src/Dodge/Data/Item/Combine.hs 169;" C
RLAUNCHERX src/Dodge/Data/Item/Combine.hs 171;" C RLAUNCHERX src/Dodge/Data/Item/Combine.hs 170;" C
ROSE src/Color/Data.hs 18;" C ROSE src/Color/Data.hs 18;" C
RPLinkStatus src/Dodge/Data/Room.hs 58;" t RPLinkStatus src/Dodge/Data/Room.hs 58;" t
RProps src/Dodge/Layout/Generate.hs 14;" C RProps src/Dodge/Layout/Generate.hs 14;" C
@@ -1133,7 +1133,7 @@ RoomWire src/Dodge/Data/Room.hs 53;" t
RoundedFaces src/Shape/Data.hs 13;" C RoundedFaces src/Shape/Data.hs 13;" C
RunningSideEffect src/Dodge/Data/Universe.hs 67;" C RunningSideEffect src/Dodge/Data/Universe.hs 67;" C
SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
SHATTERGUN src/Dodge/Data/Item/Combine.hs 174;" C SHATTERGUN src/Dodge/Data/Item/Combine.hs 173;" C
SHELLMAG src/Dodge/Data/Item/Combine.hs 110;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 110;" C
SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 101;" C SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 101;" C
SIDisplayMod src/Dodge/Data/SelectionList.hs 55;" t SIDisplayMod src/Dodge/Data/SelectionList.hs 55;" t
@@ -1141,7 +1141,6 @@ SMG src/Dodge/Data/Item/Combine.hs 147;" C
SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 99;" C SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 99;" C
SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 161;" C SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 161;" C
SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 80;" C SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 80;" C
SPARKGUN src/Dodge/Data/Item/Combine.hs 167;" C
SPEEDLEGS src/Dodge/Data/Item/Combine.hs 130;" C SPEEDLEGS src/Dodge/Data/Item/Combine.hs 130;" C
SPRING src/Dodge/Data/Item/Combine.hs 53;" C SPRING src/Dodge/Data/Item/Combine.hs 53;" C
SPic src/ShapePicture/Data.hs 7;" t SPic src/ShapePicture/Data.hs 7;" t
@@ -1281,7 +1280,7 @@ TCDamageCommand src/Dodge/Data/Terminal.hs 50;" C
TCInfo src/Dodge/Data/Terminal.hs 48;" C TCInfo src/Dodge/Data/Terminal.hs 48;" C
TCom src/Dodge/Data/Terminal.hs 47;" t TCom src/Dodge/Data/Terminal.hs 47;" t
TCommands src/Dodge/Terminal.hs 56;" t TCommands src/Dodge/Terminal.hs 56;" t
TESLAGUN src/Dodge/Data/Item/Combine.hs 168;" C TESLACOIL src/Dodge/Data/Item/Combine.hs 167;" C
THERMOMETER src/Dodge/Data/Item/Combine.hs 83;" C THERMOMETER src/Dodge/Data/Item/Combine.hs 83;" C
THREELINES src/Dodge/Data/GenParams.hs 18;" C THREELINES src/Dodge/Data/GenParams.hs 18;" C
TIMESCROLLER src/Dodge/Data/Item/Combine.hs 143;" C TIMESCROLLER src/Dodge/Data/Item/Combine.hs 143;" C
@@ -1290,7 +1289,7 @@ TIN src/Dodge/Data/Item/Combine.hs 57;" C
TINMAG src/Dodge/Data/Item/Combine.hs 107;" C TINMAG src/Dodge/Data/Item/Combine.hs 107;" C
TLine src/Dodge/Data/Terminal.hs 36;" C TLine src/Dodge/Data/Terminal.hs 36;" C
TO src/Shader/Data.hs 59;" t TO src/Shader/Data.hs 59;" t
TRACTORGUN src/Dodge/Data/Item/Combine.hs 169;" C TRACTORGUN src/Dodge/Data/Item/Combine.hs 168;" C
TRANSFORMER src/Dodge/Data/Item/Combine.hs 64;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 64;" C
TRANSMITTER src/Dodge/Data/Item/Combine.hs 70;" C TRANSMITTER src/Dodge/Data/Item/Combine.hs 70;" C
TSbackspace src/Dodge/Data/Input.hs 54;" C TSbackspace src/Dodge/Data/Input.hs 54;" C
@@ -1444,7 +1443,7 @@ Vision src/Dodge/Data/Creature/Perception.hs 39;" t
Vocalization src/Dodge/Data/Creature/Misc.hs 18;" t Vocalization src/Dodge/Data/Creature/Misc.hs 18;" t
VolleyGunTrigger src/Dodge/Data/TriggerType.hs 13;" C VolleyGunTrigger src/Dodge/Data/TriggerType.hs 13;" C
VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 17;" C VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 17;" C
WALLDETECTOR src/Dodge/Data/Item/Combine.hs 185;" C WALLDETECTOR src/Dodge/Data/Item/Combine.hs 184;" C
WHITE src/Color/Data.hs 24;" C WHITE src/Color/Data.hs 24;" C
WIRE src/Dodge/Data/Item/Combine.hs 85;" C WIRE src/Dodge/Data/Item/Combine.hs 85;" C
WRISTARMOUR src/Dodge/Data/Item/Combine.hs 124;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 124;" C
@@ -2500,7 +2499,7 @@ _wsIsAutoDoor src/Dodge/Data/Wall/Structure.hs 12;" f
_wsMachine src/Dodge/Data/Wall/Structure.hs 13;" f _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 171;" f _xNum src/Dodge/Data/Item/Combine.hs 170;" f
aBar src/Dodge/Placement/Instance/LightSource.hs 66;" f aBar src/Dodge/Placement/Instance/LightSource.hs 66;" 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
@@ -2552,7 +2551,7 @@ adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 454;" f advanceScrollAmount src/Dodge/Update.hs 454;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
aimDelaySweep src/Dodge/Render/Picture.hs 285;" f aimDelaySweep src/Dodge/Render/Picture.hs 285;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f 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 78;" f airlock0 src/Dodge/Room/Airlock.hs 78;" f
@@ -2570,8 +2569,8 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 128;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 116;" f anRoom src/Dodge/Floor.hs 116;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f analyser src/Dodge/Placement/Instance/Analyser.hs 8;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 131;" f analyserByDoor src/Dodge/Room/LasTurret.hs 124;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 115;" f analyserByNthLink src/Dodge/Room/LasTurret.hs 108;" f
andOrRegex src/Dodge/DisplayInventory.hs 78;" f andOrRegex src/Dodge/DisplayInventory.hs 78;" f
angleBetween src/Geometry.hs 158;" f angleBetween src/Geometry.hs 158;" f
angleVV src/Geometry/Vector.hs 58;" f angleVV src/Geometry/Vector.hs 58;" f
@@ -2584,16 +2583,16 @@ applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyEventIO src/Loop.hs 90;" f applyEventIO src/Loop.hs 90;" f
applyGravityPU src/Dodge/Projectile/Update.hs 41;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 17;" f
applyInvLock src/Dodge/HeldUse.hs 446;" f applyInvLock src/Dodge/HeldUse.hs 445;" f
applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f
applyPastDamages src/Dodge/Creature/State.hs 49;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f
applyPosition src/Sound.hs 113;" f applyPosition src/Sound.hs 113;" f
applyRecoil src/Dodge/HeldUse.hs 477;" f applyRecoil src/Dodge/HeldUse.hs 476;" f
applyResFactor src/Dodge/Data/Config.hs 126;" f applyResFactor src/Dodge/Data/Config.hs 126;" f
applyResFactorF src/Dodge/Data/Config.hs 135;" f applyResFactorF src/Dodge/Data/Config.hs 135;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f
applySidePush src/Dodge/HeldUse.hs 577;" f applySidePush src/Dodge/HeldUse.hs 574;" f
applySoundCME src/Dodge/HeldUse.hs 467;" f applySoundCME src/Dodge/HeldUse.hs 466;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 44;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -2601,7 +2600,7 @@ applyToNode src/TreeHelp.hs 65;" f
applyToRandomNode src/TreeHelp.hs 151;" f applyToRandomNode src/TreeHelp.hs 151;" f
applyToSubforest src/TreeHelp.hs 78;" f applyToSubforest src/TreeHelp.hs 78;" f
applyToSubtree src/TreeHelp.hs 71;" f applyToSubtree src/TreeHelp.hs 71;" f
applyTorqueCME src/Dodge/HeldUse.hs 588;" f applyTorqueCME src/Dodge/HeldUse.hs 585;" f
applyWorldConfig src/Dodge/Config.hs 55;" f applyWorldConfig src/Dodge/Config.hs 55;" f
aquamarine src/Color.hs 50;" f aquamarine src/Color.hs 50;" f
arHUD src/Dodge/Item/Scope.hs 140;" f arHUD src/Dodge/Item/Scope.hs 140;" f
@@ -2621,7 +2620,7 @@ arms src/Dodge/Creature/Picture.hs 72;" f
arrow src/Picture/Composite.hs 19;" f arrow src/Picture/Composite.hs 19;" f
arrowPath src/Picture/Composite.hs 8;" f arrowPath src/Picture/Composite.hs 8;" f
assignHotkey src/Dodge/AssignHotkey.hs 9;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f
assignPushDoors src/Dodge/LevelGen.hs 36;" f assignPushDoors src/Dodge/LevelGen.hs 37;" f
atFstLnkOut src/Dodge/PlacementSpot.hs 224;" f atFstLnkOut src/Dodge/PlacementSpot.hs 224;" f
atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 244;" f atFstLnkOutShiftBy src/Dodge/PlacementSpot.hs 244;" f
atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 247;" f atFstLnkOutShiftInward src/Dodge/PlacementSpot.hs 247;" f
@@ -2653,7 +2652,7 @@ backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 187;" f backpackShape src/Dodge/Item/Draw/SPic.hs 187;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
bangCone src/Dodge/Item/Held/Cone.hs 11;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 304;" f bangConeShape src/Dodge/Item/Draw/SPic.hs 303;" f
bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 647;" f
bangRod src/Dodge/Item/Held/Rod.hs 18;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 827;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 827;" f
@@ -2661,17 +2660,17 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 231;" f barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 120;" f barrelShape src/Dodge/Render/ShapePicture.hs 120;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 408;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f
baseCI src/Dodge/Item/Grammar.hs 162;" f baseCI src/Dodge/Item/Grammar.hs 162;" f
baseFloorTileSize src/Tile.hs 45;" f baseFloorTileSize src/Tile.hs 45;" f
baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 323;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 405;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 404;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 392;" f
baseShoulder src/Dodge/Creature/Picture.hs 114;" f baseShoulder src/Dodge/Creature/Picture.hs 114;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 300;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 292;" f
baseStickSpread src/Dodge/HeldUse.hs 336;" f baseStickSpread src/Dodge/HeldUse.hs 336;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 39;" f
@@ -2679,13 +2678,13 @@ basicCrPict src/Dodge/Creature/Picture.hs 30;" f
basicCrShape src/Dodge/Creature/Picture.hs 36;" f basicCrShape src/Dodge/Creature/Picture.hs 36;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMuzFlare src/Dodge/HeldUse.hs 728;" f basicMuzFlare src/Dodge/HeldUse.hs 724;" f
battery src/Dodge/Item/Ammo.hs 60;" f battery src/Dodge/Item/Ammo.hs 60;" f
batteryPack src/Dodge/Item/Equipment.hs 38;" f batteryPack src/Dodge/Item/Equipment.hs 38;" f
beltMag src/Dodge/Item/Ammo.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
bgunSound src/Dodge/HeldUse.hs 532;" f bgunSound src/Dodge/HeldUse.hs 530;" f
bingate src/Dodge/Item/Scope.hs 115;" f bingate src/Dodge/Item/Scope.hs 115;" f
black src/Color.hs 54;" f black src/Color.hs 54;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 15;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 15;" f
@@ -2720,7 +2719,7 @@ blowTorch src/Dodge/Item/Held/SprayGuns.hs 43;" f
blue src/Color.hs 43;" f blue src/Color.hs 43;" f
blunderbuss src/Dodge/Item/Held/Cone.hs 14;" f blunderbuss src/Dodge/Item/Held/Cone.hs 14;" f
boolOption src/Dodge/Menu/OptionType.hs 12;" f boolOption src/Dodge/Menu/OptionType.hs 12;" f
bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossKeyItems src/Dodge/LockAndKey.hs 13;" f
bossRoom src/Dodge/Room/Boss.hs 55;" f bossRoom src/Dodge/Room/Boss.hs 55;" f
bounceDir src/Dodge/Bullet.hs 111;" f bounceDir src/Dodge/Bullet.hs 111;" f
bouncePoint src/Dodge/Base/Collide.hs 86;" f bouncePoint src/Dodge/Base/Collide.hs 86;" f
@@ -2750,7 +2749,7 @@ bulletBeltPack src/Dodge/Item/Equipment.hs 50;" f
bulletModule src/Dodge/Item/Scope.hs 122;" f bulletModule src/Dodge/Item/Scope.hs 122;" f
bulletPayloadModule src/Dodge/Item/Scope.hs 137;" f bulletPayloadModule src/Dodge/Item/Scope.hs 137;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 89;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 89;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 593;" f
@@ -2770,7 +2769,7 @@ cardinalBetweenAdj src/Dodge/Base/CardinalPoint.hs 28;" f
cardinalVectors src/Dodge/FloorItem.hs 24;" f cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f cdtPropagateFold src/Dodge/DoubleTree.hs 189;" f
ceilingTo src/Geometry/Zone.hs 15;" f ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 49;" f cenLasTur src/Dodge/Room/LasTurret.hs 50;" f
centerText src/Picture/Base.hs 176;" f centerText src/Picture/Base.hs 176;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f
@@ -2843,7 +2842,7 @@ cleatSide src/Dodge/Cleat.hs 27;" f
click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 783;" f click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 783;" f
clicker src/Dodge/Item/Scope.hs 88;" f clicker src/Dodge/Item/Scope.hs 88;" f
clipV src/Geometry/Vector.hs 48;" f clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 240;" f clipZoom src/Dodge/Update/Camera.hs 239;" f
clockCycle src/Dodge/Clock.hs 7;" f clockCycle src/Dodge/Clock.hs 7;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f
@@ -2891,9 +2890,9 @@ commandColor src/Dodge/Terminal.hs 127;" f
commonPrefix src/Dodge/Debug/Terminal.hs 149;" f commonPrefix src/Dodge/Debug/Terminal.hs 149;" f
comp src/Quaternion.hs 61;" f comp src/Quaternion.hs 61;" f
compP2A src/Dodge/ShiftPoint.hs 11;" f compP2A src/Dodge/ShiftPoint.hs 11;" f
compactDraw src/Dodge/LevelGen.hs 95;" f compactDraw src/Dodge/LevelGen.hs 96;" f
compactDraw' src/Dodge/LevelGen.hs 106;" f compactDraw' src/Dodge/LevelGen.hs 107;" f
compactDrawTree src/Dodge/LevelGen.hs 89;" f compactDrawTree src/Dodge/LevelGen.hs 90;" f
compareLHS src/Geometry/LHS.hs 30;" f compareLHS src/Geometry/LHS.hs 30;" f
compileAndCheckShader src/Shader/Compile.hs 108;" f compileAndCheckShader src/Shader/Compile.hs 108;" f
composeNode src/Dodge/Tree/Compose.hs 77;" f composeNode src/Dodge/Tree/Compose.hs 77;" f
@@ -2920,7 +2919,7 @@ corDoor src/Dodge/Room/Room.hs 404;" f
cornerList src/Preload/Render.hs 236;" f cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 98;" f corpseOrGib src/Dodge/Creature/Update.hs 98;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorBoss src/Dodge/LockAndKey.hs 136;" f
corridorN src/Dodge/Room/Corridor.hs 58;" f corridorN src/Dodge/Room/Corridor.hs 58;" f
corridorWallN src/Dodge/Room/Corridor.hs 77;" f corridorWallN src/Dodge/Room/Corridor.hs 77;" f
crAdd src/Dodge/Room/RezBox.hs 116;" f crAdd src/Dodge/Room/RezBox.hs 116;" f
@@ -2970,7 +2969,7 @@ crVocalizationSound src/Dodge/Creature/Vocalization.hs 16;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 26;" f crWarningSounds src/Dodge/Creature/Vocalization.hs 26;" f
crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 59;" f crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 59;" f
crZoneSize src/Dodge/Zoning/Creature.hs 43;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f
craftInfo src/Dodge/Item/Info.hs 169;" f craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 40;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 597;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 597;" f
createForceField src/Dodge/ForceField.hs 7;" f createForceField src/Dodge/ForceField.hs 7;" f
@@ -2978,15 +2977,15 @@ createGas src/Dodge/Gas.hs 10;" f
createHeadLamp src/Dodge/Euse.hs 64;" f createHeadLamp src/Dodge/Euse.hs 64;" f
createItemYou src/Dodge/Inventory/Add.hs 62;" f createItemYou src/Dodge/Inventory/Add.hs 62;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createProjectile src/Dodge/HeldUse.hs 1300;" f createProjectile src/Dodge/HeldUse.hs 1293;" f
createProjectileR src/Dodge/HeldUse.hs 1249;" f createProjectileR src/Dodge/HeldUse.hs 1242;" f
createShell src/Dodge/Projectile/Create.hs 21;" f createShell src/Dodge/Projectile/Create.hs 21;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 53;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 53;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 129;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 129;" f
createWall src/Dodge/Wall/Create.hs 8;" f createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f
creatureShootLaser src/Dodge/HeldUse.hs 856;" f creatureShootLaser src/Dodge/HeldUse.hs 852;" f
creatureShootPulseLaser src/Dodge/HeldUse.hs 887;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 883;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 60;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 81;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 70;" f
@@ -3102,7 +3101,7 @@ defDamageMaterial src/Dodge/Material/Damage.hs 34;" f
defEquipment src/Dodge/Default.hs 24;" f defEquipment src/Dodge/Default.hs 24;" f
defHeldItem src/Dodge/Default/Item.hs 9;" f defHeldItem src/Dodge/Default/Item.hs 9;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 310;" f defSPic src/Dodge/Item/Draw/SPic.hs 309;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 108;" f defaultAimingCrit src/Dodge/Default/Creature.hs 108;" f
defaultAudition src/Dodge/Default/Creature.hs 93;" f defaultAudition src/Dodge/Default/Creature.hs 93;" f
@@ -3166,9 +3165,9 @@ destroyMounts src/Dodge/Wall/Damage.hs 164;" f
destroyProjectile src/Dodge/Projectile/Update.hs 112;" f destroyProjectile src/Dodge/Projectile/Update.hs 112;" f
detV src/Geometry/Vector.hs 94;" f detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 433;" f detectorColor src/Dodge/Item/Draw/SPic.hs 432;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f detectorInfo src/Dodge/Item/Info.hs 223;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1220;" f determineProjectileTracking src/Dodge/HeldUse.hs 1213;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 205;" f diffAngles src/Geometry.hs 205;" f
@@ -3230,7 +3229,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 128;" f
doDrawing src/Dodge/Render.hs 33;" f doDrawing src/Dodge/Render.hs 33;" f
doDrawing' src/Dodge/Render.hs 44;" f doDrawing' src/Dodge/Render.hs 44;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1181;" f doGenFloat src/Dodge/HeldUse.hs 1174;" f
doGravityPU src/Dodge/Projectile/Update.hs 35;" f doGravityPU src/Dodge/Projectile/Update.hs 35;" f
doHeldUseEffect src/Dodge/HeldUse.hs 369;" f doHeldUseEffect src/Dodge/HeldUse.hs 369;" f
doInPlacements src/Dodge/Layout.hs 87;" f doInPlacements src/Dodge/Layout.hs 87;" f
@@ -3258,7 +3257,7 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 132;" f doThrust src/Dodge/Projectile/Update.hs 132;" f
doTimeScroll src/Dodge/Update.hs 211;" f doTimeScroll src/Dodge/Update.hs 211;" f
doTmWdWd src/Dodge/WorldEffect.hs 103;" f doTmWdWd src/Dodge/WorldEffect.hs 103;" f
doWallRotate src/Dodge/Update/Camera.hs 229;" f doWallRotate src/Dodge/Update/Camera.hs 228;" f
doWdBl src/Dodge/WorldBool.hs 10;" f doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f
doWdP2f src/Dodge/WdP2f.hs 10;" f doWdP2f src/Dodge/WdP2f.hs 10;" f
@@ -3404,7 +3403,7 @@ drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f
dropAll src/Dodge/Creature/Update.hs 134;" f dropAll src/Dodge/Creature/Update.hs 134;" f
dropInventoryPath src/Dodge/HeldUse.hs 1375;" f dropInventoryPath src/Dodge/HeldUse.hs 1368;" f
dropItem src/Dodge/Creature/Action.hs 155;" f dropItem src/Dodge/Creature/Action.hs 155;" f
dropper src/Dodge/Item/Scope.hs 82;" f dropper src/Dodge/Item/Scope.hs 82;" f
drumMag src/Dodge/Item/Ammo.hs 31;" f drumMag src/Dodge/Item/Ammo.hs 31;" f
@@ -3457,10 +3456,10 @@ eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
equipAllocString src/Dodge/Render/HUD.hs 316;" f equipAllocString src/Dodge/Render/HUD.hs 316;" f
equipAttachPos src/Dodge/Item/Draw.hs 30;" f equipAttachPos src/Dodge/Item/Draw.hs 30;" f
equipBackgroundEffect src/Dodge/Euse.hs 22;" f equipBackgroundEffect src/Dodge/Euse.hs 22;" f
equipInfo src/Dodge/Item/Info.hs 141;" f equipInfo src/Dodge/Item/Info.hs 140;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 158;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 158;" f
equipPosition src/Dodge/Item/Draw.hs 38;" f equipPosition src/Dodge/Item/Draw.hs 38;" f
equipSiteInfo src/Dodge/Item/Info.hs 253;" f equipSiteInfo src/Dodge/Item/Info.hs 252;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 27;" f equipSitePQ src/Dodge/Creature/HandPos.hs 27;" f
equipType src/Dodge/Data/EquipType.hs 10;" f equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
@@ -3491,13 +3490,13 @@ extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 102;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 62;" f faceEdges src/Polyhedra.hs 62;" f
facesToVF src/Polyhedra/Geodesic.hs 70;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f
farWallDistDirection src/Dodge/Update/Camera.hs 251;" f farWallDistDirection src/Dodge/Update/Camera.hs 250;" f
fdiv src/ShortShow.hs 41;" f fdiv src/ShortShow.hs 41;" f
feet src/Dodge/Creature/Picture.hs 51;" f feet src/Dodge/Creature/Picture.hs 51;" f
filter3 src/FoldableHelp.hs 76;" f filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f
findBlips src/Dodge/RadarSweep.hs 63;" f findBlips src/Dodge/RadarSweep.hs 63;" f
findBoundDists src/Dodge/Update/Camera.hs 258;" f findBoundDists src/Dodge/Update/Camera.hs 257;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 86;" f findIndex src/IntMapHelp.hs 86;" f
@@ -3522,12 +3521,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 396;" f flamerPic src/Dodge/Item/Draw/SPic.hs 395;" f
flareCircleAt src/Dodge/HeldUse.hs 709;" f flareCircleAt src/Dodge/HeldUse.hs 705;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 420;" f flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 419;" f
fleeFrom src/Dodge/CreatureEffect.hs 92;" f fleeFrom src/Dodge/CreatureEffect.hs 92;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
@@ -3581,7 +3580,7 @@ gameRoomsFromRooms src/Dodge/Layout.hs 149;" f
gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenu src/Dodge/Menu.hs 152;" f
gameplayMenuOptions src/Dodge/Menu.hs 155;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f
gasEffect src/Dodge/Update.hs 855;" f gasEffect src/Dodge/Update.hs 855;" f
gasType src/Dodge/HeldUse.hs 1138;" f gasType src/Dodge/HeldUse.hs 1132;" f
gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f
generateGraphs src/Dodge/Menu.hs 147;" f generateGraphs src/Dodge/Menu.hs 147;" f
@@ -3595,11 +3594,11 @@ geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 151;" f getAimZoom src/Dodge/Update/Camera.hs 151;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 107;" f getAmmoLinks src/Dodge/Item/Grammar.hs 107;" f
getAttachedSFLink src/Dodge/HeldUse.hs 802;" f getAttachedSFLink src/Dodge/HeldUse.hs 798;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 88;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 88;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 173;" f getBulHitDams src/Dodge/Bullet.hs 173;" f
getBulletType src/Dodge/HeldUse.hs 937;" f getBulletType src/Dodge/HeldUse.hs 933;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f
getCommand src/Dodge/Terminal.hs 61;" f getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f getCommands src/Dodge/Terminal.hs 58;" f
@@ -3609,19 +3608,20 @@ getCrsFromRooms' src/Dodge/Room/Tutorial.hs 483;" f
getDebugMouseOver src/Dodge/Update.hs 424;" f getDebugMouseOver src/Dodge/Update.hs 424;" f
getDistortions src/Dodge/Render.hs 443;" f getDistortions src/Dodge/Render.hs 443;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1288;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1281;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f
getLaserColor src/Dodge/HeldUse.hs 725;" f getLaserColor src/Dodge/HeldUse.hs 721;" f
getLaserDamage src/Dodge/HeldUse.hs 722;" f getLaserDamage src/Dodge/HeldUse.hs 718;" f
getLaserPhaseV src/Dodge/HeldUse.hs 719;" f getLaserPhaseV src/Dodge/HeldUse.hs 715;" f
getLinksOfType src/Dodge/RoomLink.hs 40;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 436;" f getMenuMouseContext src/Dodge/Update.hs 436;" f
getNodePos src/Dodge/Path.hs 34;" f getNodePos src/Dodge/Path.hs 34;" f
getPJStabiliser src/Dodge/HeldUse.hs 1275;" f getPJStabiliser src/Dodge/HeldUse.hs 1268;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" 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 getRoomsFromInts src/Dodge/Room/Tutorial.hs 479;" f
getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
@@ -3648,7 +3648,7 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f
glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f
glassSwitchBack src/Dodge/Room/Room.hs 82;" f glassSwitchBack src/Dodge/Room/Room.hs 82;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 116;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 116;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f
gluintSize src/Shader/Parameters.hs 25;" f gluintSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f
@@ -3703,12 +3703,12 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 320;" f
hat src/Dodge/Item/Equipment.hs 65;" f hat src/Dodge/Item/Equipment.hs 65;" f
head src/DoubleStack.hs 14;" f head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 68;" f headLamp src/Dodge/Item/Equipment.hs 68;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f headLampShape src/Dodge/Item/Draw/SPic.hs 422;" f
headMap src/Dodge/DoubleTree.hs 118;" f headMap src/Dodge/DoubleTree.hs 118;" f
headPQ src/Dodge/Creature/HandPos.hs 116;" f headPQ src/Dodge/Creature/HandPos.hs 116;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 112;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 105;" f
healthTest src/Dodge/Room/LasTurret.hs 134;" f healthTest src/Dodge/Room/LasTurret.hs 127;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 157;" f heldAimZoom src/Dodge/Update/Camera.hs 157;" f
@@ -3718,14 +3718,14 @@ heldHandlePos src/Dodge/Item/HeldOffset.hs 84;" 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
heldItemInvLock src/Dodge/HeldUse.hs 460;" f heldItemInvLock src/Dodge/HeldUse.hs 459;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1023;" f heldItemMuzVel src/Dodge/HeldUse.hs 1019;" f
heldItemMuzzles src/Dodge/HeldUse.hs 188;" f heldItemMuzzles src/Dodge/HeldUse.hs 188;" f
heldItemRifling src/Dodge/HeldUse.hs 1066;" f heldItemRifling src/Dodge/HeldUse.hs 1061;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 234;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 234;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f heldItemWeight src/Dodge/Creature/Statistics.hs 80;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldPositionInfo src/Dodge/Item/Info.hs 239;" f
heldTorqueAmount src/Dodge/HeldUse.hs 604;" f heldTorqueAmount src/Dodge/HeldUse.hs 601;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f
heron src/Geometry.hs 218;" f heron src/Geometry.hs 218;" f
hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f hiToFloat src/Dodge/Room/Modify/Girder.hs 171;" f
@@ -3834,7 +3834,7 @@ invertIntMapUnique src/IntMapHelp.hs 103;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f
isAmmoIntLink src/Dodge/HeldUse.hs 735;" f isAmmoIntLink src/Dodge/HeldUse.hs 731;" f
isAnimate src/Dodge/Creature/Test.hs 134;" f isAnimate src/Dodge/Creature/Test.hs 134;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f
@@ -3878,7 +3878,7 @@ itemBelowAttachables src/Dodge/Item/Grammar.hs 53;" f
itemBlips src/Dodge/RadarSweep.hs 94;" f itemBlips src/Dodge/RadarSweep.hs 94;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemDetectorEffect src/Dodge/HeldUse.hs 808;" f itemDetectorEffect src/Dodge/HeldUse.hs 804;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 82;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 82;" f
@@ -3890,9 +3890,9 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 34;" f itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 455;" f itemInvLock src/Dodge/HeldUse.hs 454;" f
itemMuzzles src/Dodge/HeldUse.hs 172;" f itemMuzzles src/Dodge/HeldUse.hs 172;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 41;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
itemScan src/Dodge/Item/Scope.hs 68;" f itemScan src/Dodge/Item/Scope.hs 68;" f
@@ -3913,9 +3913,9 @@ itemWeight src/Dodge/Creature/Statistics.hs 74;" f
iterateUntil src/MonadHelp.hs 23;" f iterateUntil src/MonadHelp.hs 23;" f
iterateWhile src/MonadHelp.hs 30;" f iterateWhile src/MonadHelp.hs 30;" f
itmBaseInfo src/Dodge/Item/Info.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 30;" f
itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" 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 230;" f itmUsageInfo src/Dodge/Item/Info.hs 229;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 69;" f jShape src/Dodge/Placement/Instance/LightSource.hs 69;" 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
@@ -3930,10 +3930,10 @@ justify src/Justify.hs 9;" f
k src/ShortShow.hs 48;" f k src/ShortShow.hs 48;" f
k' src/ShortShow.hs 48;" f k' src/ShortShow.hs 48;" f
keyCard src/Dodge/Item/Held/Utility.hs 20;" f keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 109;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 102;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 97;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 90;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 38;" f
keyPic src/Dodge/Item/Draw/SPic.hs 439;" f keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f
lChasm src/Dodge/Room/Tutorial.hs 159;" f lChasm src/Dodge/Room/Tutorial.hs 159;" f
@@ -3943,26 +3943,26 @@ lConnectMulti src/Dodge/Render/Connectors.hs 51;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 57;" f lShape src/Dodge/Placement/Instance/LightSource.hs 57;" 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 275;" f lasCenRunClose' src/Dodge/Room/LasTurret.hs 321;" f
lasCenRunClose1 src/Dodge/Room/LasTurret.hs 351;" f lasCenRunClose1 src/Dodge/Room/LasTurret.hs 410;" f
lasCenRunClose2 src/Dodge/Room/LasTurret.hs 406;" f lasCenRunClose2 src/Dodge/Room/LasTurret.hs 483;" f
lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 321;" f lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 375;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 154;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 162;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f
lasRunRand src/Dodge/Room/LasTurret.hs 403;" f lasRunRand src/Dodge/Room/LasTurret.hs 480;" f
lasRunYinYang src/Dodge/Room/LasTurret.hs 182;" f lasRunYinYang src/Dodge/Room/LasTurret.hs 198;" f
lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 230;" f lasRunYinYangCenter src/Dodge/Room/LasTurret.hs 261;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 146;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 139;" f
lasTunnel src/Dodge/Room/LasTurret.hs 436;" f lasTunnel src/Dodge/Room/LasTurret.hs 521;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 477;" f lasTunnelRunPast src/Dodge/Room/LasTurret.hs 562;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 35;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f laser src/Dodge/Item/Held/BatteryGuns.hs 27;" f
laserSpark src/Dodge/Material/Damage.hs 37;" f laserSpark src/Dodge/Material/Damage.hs 37;" f
lastMap src/Dodge/DoubleTree.hs 122;" f lastMap src/Dodge/DoubleTree.hs 122;" f
latticeXsYs src/Grid.hs 24;" f latticeXsYs src/Grid.hs 24;" f
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
layoutLevelFromSeed src/Dodge/LevelGen.hs 41;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 42;" f
ldpRect src/Dodge/Render/List.hs 48;" f ldpRect src/Dodge/Render/List.hs 48;" f
ldpSelection src/Dodge/Update/Input/ScreenLayer.hs 84;" f ldpSelection src/Dodge/Update/Input/ScreenLayer.hs 84;" f
leaveResetQuitTerminal src/Dodge/WorldEffect.hs 165;" f leaveResetQuitTerminal src/Dodge/WorldEffect.hs 165;" f
@@ -3975,12 +3975,12 @@ leftLegPQ src/Dodge/Creature/HandPos.hs 85;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 201;" f 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 448;" 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 82;" f liShape src/Dodge/Placement/Instance/LightSource.hs 82;" f
light src/Color.hs 131;" f light src/Color.hs 131;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 82;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 75;" f
lightSensInsideDoor src/Dodge/Room/LasTurret.hs 70;" f lightSensInsideDoor src/Dodge/Room/LasTurret.hs 63;" f
lightSensor src/Dodge/Placement/Instance/Sensor.hs 33;" f lightSensor src/Dodge/Placement/Instance/Sensor.hs 33;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f
lightx4 src/Color.hs 155;" f lightx4 src/Color.hs 155;" f
@@ -4005,7 +4005,7 @@ lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 648;" f loadMuzzle src/Dodge/HeldUse.hs 644;" f
loadSaveSlot src/Dodge/Save.hs 74;" f loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4023,8 +4023,8 @@ locOrient src/Dodge/Item/HeldOffset.hs 52;" 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
lockRoomKeyItems src/Dodge/LockAndKey.hs 25;" f lockRoomKeyItems src/Dodge/LockAndKey.hs 26;" f
lockRoomMultiItems src/Dodge/LockAndKey.hs 15;" f lockRoomMultiItems src/Dodge/LockAndKey.hs 16;" f
lockedStart src/Dodge/Room/RunPast.hs 34;" f lockedStart src/Dodge/Room/RunPast.hs 34;" f
logMenu src/Dodge/Menu.hs 125;" f logMenu src/Dodge/Menu.hs 125;" f
logOptions src/Dodge/Menu.hs 140;" f logOptions src/Dodge/Menu.hs 140;" f
@@ -4049,7 +4049,7 @@ ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f
m src/ShortShow.hs 48;" f m src/ShortShow.hs 48;" f
mAT src/Dodge/Item/MagAmmoType.hs 20;" f mAT src/Dodge/Item/MagAmmoType.hs 20;" f
machinePistol src/Dodge/Item/Held/Stick.hs 24;" f machinePistol src/Dodge/Item/Held/Stick.hs 24;" f
magAmmoParams src/Dodge/HeldUse.hs 958;" f magAmmoParams src/Dodge/HeldUse.hs 954;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f
magMax src/Dodge/Item/MagAmmoType.hs 29;" f magMax src/Dodge/Item/MagAmmoType.hs 29;" f
magShield src/Dodge/Item/Equipment.hs 26;" f magShield src/Dodge/Item/Equipment.hs 26;" f
@@ -4063,7 +4063,7 @@ main test/Spec.hs 12;" f
makeArc src/Picture/Base.hs 149;" f makeArc src/Picture/Base.hs 149;" f
makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlip src/Dodge/RadarSweep.hs 70;" f
makeBlockDebris src/Dodge/Block/Debris.hs 36;" f makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
makeBullet src/Dodge/HeldUse.hs 1002;" f makeBullet src/Dodge/HeldUse.hs 998;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 124;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f
@@ -4082,7 +4082,7 @@ makeFragBullets src/Dodge/Bullet.hs 132;" f
makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeIntInterval src/Dodge/Zoning/Base.hs 37;" f makeIntInterval src/Dodge/Zoning/Base.hs 37;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 674;" f makeMuzzleFlare src/Dodge/HeldUse.hs 670;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 63;" f makePathBetween src/Dodge/Path.hs 63;" f
makePathBetweenPs src/Dodge/Path.hs 87;" f makePathBetweenPs src/Dodge/Path.hs 87;" f
@@ -4138,10 +4138,10 @@ mcProxSensorUpdate src/Dodge/Machine/Update.hs 167;" f
mcProxTest src/Dodge/Machine/Update.hs 248;" f mcProxTest src/Dodge/Machine/Update.hs 248;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 209;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 209;" f
mcSPic src/Dodge/Render/ShapePicture.hs 172;" f mcSPic src/Dodge/Render/ShapePicture.hs 172;" f
mcShootAuto src/Dodge/HeldUse.hs 1193;" f mcShootAuto src/Dodge/HeldUse.hs 1186;" f
mcShootLaser src/Dodge/HeldUse.hs 1185;" f mcShootLaser src/Dodge/HeldUse.hs 1178;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f
mcUseHeld src/Dodge/HeldUse.hs 1109;" f mcUseHeld src/Dodge/HeldUse.hs 1103;" f
mcUseItem src/Dodge/Machine/Update.hs 108;" f mcUseItem src/Dodge/Machine/Update.hs 108;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f megaBattery src/Dodge/Item/Ammo.hs 54;" f
megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f
@@ -4184,8 +4184,8 @@ minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f
miniGunCrit src/Dodge/Creature.hs 61;" f miniGunCrit src/Dodge/Creature.hs 61;" f
miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 375;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 374;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 367;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 366;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f
miniTree2 src/Dodge/Room/Room.hs 123;" f miniTree2 src/Dodge/Room/Room.hs 123;" f
minimumOn src/FoldlHelp.hs 14;" f minimumOn src/FoldlHelp.hs 14;" f
@@ -4233,9 +4233,9 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrie src/SimpleTrie.hs 57;" f
multiLookupTrieI src/SimpleTrie.hs 66;" f multiLookupTrieI src/SimpleTrie.hs 66;" f
muout src/Dodge/RoomLink.hs 144;" f muout src/Dodge/RoomLink.hs 144;" f
muzFlareAt src/Dodge/HeldUse.hs 696;" f muzFlareAt src/Dodge/HeldUse.hs 692;" f
muzzlePos src/Dodge/HeldUse.hs 783;" f muzzlePos src/Dodge/HeldUse.hs 779;" f
muzzleRandPos src/Dodge/HeldUse.hs 792;" 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 177;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 180;" f mvCr src/Dodge/Placement/PlaceSpot.hs 180;" f
@@ -4544,7 +4544,7 @@ putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 101;" 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
putStrLnAppend src/Dodge/LevelGen.hs 83;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f
putTerminal src/Dodge/Placement/Instance/Terminal.hs 51;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 51;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 20;" f putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 20;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 15;" f putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 15;" f
@@ -4608,7 +4608,7 @@ recComFindPredecessor src/Dodge/Terminal.hs 200;" f
recComFindSuccessor src/Dodge/Terminal.hs 190;" f recComFindSuccessor src/Dodge/Terminal.hs 190;" f
recComLookup src/Dodge/Terminal.hs 180;" f recComLookup src/Dodge/Terminal.hs 180;" f
recTabComplete src/Dodge/Terminal.hs 227;" f recTabComplete src/Dodge/Terminal.hs 227;" f
recoilAmount src/Dodge/HeldUse.hs 485;" f recoilAmount src/Dodge/HeldUse.hs 484;" f
rectNSWE src/Geometry/Polygon.hs 15;" f rectNSWE src/Geometry/Polygon.hs 15;" f
rectVV src/Geometry/Polygon.hs 48;" f rectVV src/Geometry/Polygon.hs 48;" f
rectWH src/Geometry/Polygon.hs 19;" f rectWH src/Geometry/Polygon.hs 19;" f
@@ -4637,7 +4637,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 176;" f
remoteDetonator src/Dodge/Item/Scope.hs 152;" f remoteDetonator src/Dodge/Item/Scope.hs 152;" f
remoteScreen src/Dodge/Item/Scope.hs 146;" f remoteScreen src/Dodge/Item/Scope.hs 146;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 933;" f removeAmmoFromMag src/Dodge/HeldUse.hs 929;" f
removeDot src/ShortShow.hs 44;" f removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 394;" f removeLights src/Dodge/Room/Tutorial.hs 394;" f
@@ -4672,7 +4672,7 @@ resumeSound src/Dodge/SoundLogic.hs 48;" f
retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 9;" f retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 9;" f
revCard src/Dodge/Data/CardinalPoint.hs 13;" f revCard src/Dodge/Data/CardinalPoint.hs 13;" f
reverseCymbal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 807;" f reverseCymbal1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 807;" f
reversePair src/Dodge/LevelGen.hs 86;" f reversePair src/Dodge/LevelGen.hs 87;" f
rewinder src/Dodge/Item/Held/Utility.hs 36;" f rewinder src/Dodge/Item/Held/Utility.hs 36;" f
rezBox src/Dodge/Room/RezBox.hs 31;" f rezBox src/Dodge/Room/RezBox.hs 31;" f
rezBox' src/Dodge/Room/RezBox.hs 46;" f rezBox' src/Dodge/Room/RezBox.hs 46;" f
@@ -4694,7 +4694,7 @@ rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 58;" f rightWristPQ src/Dodge/Creature/HandPos.hs 58;" f
rlPosDir src/Dodge/RoomLink.hs 112;" f rlPosDir src/Dodge/RoomLink.hs 112;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 399;" f rlauncherPic src/Dodge/Item/Draw/SPic.hs 398;" f
rmInLinks src/Dodge/RoomLink.hs 153;" f rmInLinks src/Dodge/RoomLink.hs 153;" f
rmInvItem src/Dodge/Inventory.hs 74;" f rmInvItem src/Dodge/Inventory.hs 74;" f
rmLinksOfType src/Dodge/RoomLink.hs 150;" f rmLinksOfType src/Dodge/RoomLink.hs 150;" f
@@ -4729,7 +4729,7 @@ 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
rotateCamera src/Dodge/Update/Camera.hs 205;" f rotateCamera src/Dodge/Update/Camera.hs 204;" f
rotateList src/Padding.hs 49;" f rotateList src/Padding.hs 49;" f
rotateSH src/Shape.hs 254;" f rotateSH src/Shape.hs 254;" f
rotateSHq src/Shape.hs 163;" f rotateSHq src/Shape.hs 163;" f
@@ -4737,7 +4737,7 @@ rotateSHx src/Shape.hs 262;" f
rotateSP src/ShapePicture.hs 57;" f rotateSP src/ShapePicture.hs 57;" f
rotateTo src/Polyhedra/Geodesic.hs 65;" f rotateTo src/Polyhedra/Geodesic.hs 65;" f
rotateTo8 src/Dodge/Update/Camera/Rotate.hs 6;" f rotateTo8 src/Dodge/Update/Camera/Rotate.hs 6;" f
rotateToOverlappingWall src/Dodge/Update/Camera.hs 217;" f rotateToOverlappingWall src/Dodge/Update/Camera.hs 216;" f
rotateToZ src/Quaternion.hs 35;" f rotateToZ src/Quaternion.hs 35;" f
rotateV src/Geometry/Vector.hs 106;" f rotateV src/Geometry/Vector.hs 106;" f
rotateVAround src/Geometry/Vector.hs 113;" f rotateVAround src/Geometry/Vector.hs 113;" f
@@ -4853,7 +4853,6 @@ setOutLinks src/Dodge/RoomLink.hs 49;" f
setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/LasTurret.hs 175;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 342;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f
setShaderSource src/Shader/Compile.hs 121;" f setShaderSource src/Shader/Compile.hs 121;" f
@@ -4863,7 +4862,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 107;" f setTreeInts src/Dodge/Room/Tutorial.hs 107;" f
setViewDistance src/Dodge/Update/Camera.hs 246;" f setViewDistance src/Dodge/Update/Camera.hs 245;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f 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
@@ -4884,7 +4883,7 @@ shapeBounds src/Dodge/Room/Foreground.hs 147;" f
shapePoints src/Dodge/Room/Foreground.hs 144;" f shapePoints src/Dodge/Room/Foreground.hs 144;" f
shapeVerxSize src/Shape/Parameters.hs 5;" f shapeVerxSize src/Shape/Parameters.hs 5;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 313;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 312;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f
shellHitCreature src/Dodge/Projectile/Update.hs 84;" f shellHitCreature src/Dodge/Projectile/Update.hs 84;" f
shellHitFloor src/Dodge/Projectile/Update.hs 98;" f shellHitFloor src/Dodge/Projectile/Update.hs 98;" f
@@ -4913,17 +4912,17 @@ shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shineTargetLaser src/Dodge/Creature/State.hs 201;" f shineTargetLaser src/Dodge/Creature/State.hs 201;" f
shineTorch src/Dodge/Creature/State.hs 238;" f shineTorch src/Dodge/Creature/State.hs 238;" f
shootBullet src/Dodge/HeldUse.hs 996;" f shootBullet src/Dodge/HeldUse.hs 992;" f
shootBullets src/Dodge/HeldUse.hs 990;" f shootBullets src/Dodge/HeldUse.hs 986;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f
shootLaser src/Dodge/HeldUse.hs 866;" f shootLaser src/Dodge/HeldUse.hs 862;" f
shootPlasmaBall src/Dodge/HeldUse.hs 907;" f shootPlasmaBall src/Dodge/HeldUse.hs 903;" f
shootPulseBall src/Dodge/HeldUse.hs 919;" f shootPulseBall src/Dodge/HeldUse.hs 915;" f
shootPulseLaser src/Dodge/HeldUse.hs 894;" f shootPulseLaser src/Dodge/HeldUse.hs 890;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootTeslaArc src/Dodge/HeldUse.hs 1210;" f shootTeslaArc src/Dodge/HeldUse.hs 1203;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 835;" f shootTractorBeam src/Dodge/HeldUse.hs 831;" f
shootersRoom src/Dodge/Room/Room.hs 338;" f shootersRoom src/Dodge/Room/Room.hs 338;" f
shootersRoom' src/Dodge/Room/Room.hs 305;" f shootersRoom' src/Dodge/Room/Room.hs 305;" f
shootersRoom1 src/Dodge/Room/Room.hs 328;" f shootersRoom1 src/Dodge/Room/Room.hs 328;" f
@@ -4954,7 +4953,7 @@ simpleCrSprings src/Dodge/Update.hs 931;" f
simpleTermMessage src/Dodge/Terminal.hs 275;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 757;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 757;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 793;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 793;" f
singleAmmo src/Dodge/Item/AmmoSlots.hs 64;" f singleAmmo src/Dodge/Item/AmmoSlots.hs 63;" f
singleDT src/Dodge/DoubleTree.hs 8;" f singleDT src/Dodge/DoubleTree.hs 8;" f
singleton src/DoubleStack.hs 11;" f singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 20;" f singletonTrie src/SimpleTrie.hs 20;" f
@@ -4982,7 +4981,7 @@ slowDoorRoomRunPast src/Dodge/Room/LongDoor.hs 157;" 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
smallDrawTree src/Dodge/LevelGen.hs 92;" f smallDrawTree src/Dodge/LevelGen.hs 93;" f
smallGlass1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 825;" f 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
@@ -4996,7 +4995,7 @@ snailAround src/Dodge/Path.hs 78;" f
snapToGrid src/Dodge/Path.hs 129;" f snapToGrid src/Dodge/Path.hs 129;" f
sndV2 src/Geometry/Data.hs 73;" f sndV2 src/Geometry/Data.hs 73;" f
sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f
someCrits src/Dodge/LockAndKey.hs 120;" f someCrits src/Dodge/LockAndKey.hs 123;" f
soundAngle src/Dodge/SoundLogic.hs 163;" f soundAngle src/Dodge/SoundLogic.hs 163;" f
soundContinue src/Dodge/SoundLogic.hs 131;" f soundContinue src/Dodge/SoundLogic.hs 131;" f
soundContinueVol src/Dodge/SoundLogic.hs 145;" f soundContinueVol src/Dodge/SoundLogic.hs 145;" f
@@ -5021,7 +5020,6 @@ spanLS src/Dodge/Placement/Instance/LightSource.hs 161;" f
spanLightI src/Dodge/Placement/Instance/LightSource.hs 183;" 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 186;" f
sparkDam src/Dodge/Spark.hs 37;" f sparkDam src/Dodge/Spark.hs 37;" f
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" 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
spawnAt src/Dodge/SpawnAt.hs 14;" f spawnAt src/Dodge/SpawnAt.hs 14;" f
@@ -5092,6 +5090,7 @@ stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/Wall/Damage.hs 172;" f stopPushing src/Dodge/Wall/Damage.hs 172;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
storageShape src/Dodge/Machine/Draw.hs 31;" f storageShape src/Dodge/Machine/Draw.hs 31;" f
storeRoomID src/Dodge/Room/LasTurret.hs 187;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f 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
@@ -5151,9 +5150,9 @@ terminalSPic src/Dodge/Machine/Draw.hs 47;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 43;" f terminalScreenGlow src/Dodge/Machine/Update.hs 43;" f
terminalShape src/Dodge/Machine/Draw.hs 50;" f terminalShape src/Dodge/Machine/Draw.hs 50;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 127;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 127;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 411;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" f
testEvent src/Dodge/Event/Test.hs 11;" f testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 305;" f testInventory src/Dodge/Creature.hs 305;" f
testPic src/Dodge/Render/ShapePicture.hs 57;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f
@@ -5237,15 +5236,15 @@ topInvW src/Dodge/ListDisplayParams.hs 54;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 53;" f topTestPart src/Dodge/TestString.hs 53;" f
torchShape src/Dodge/Item/Draw/SPic.hs 277;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f
torqueAmount src/Dodge/HeldUse.hs 599;" f torqueAmount src/Dodge/HeldUse.hs 596;" f
torqueCr src/Dodge/WorldEffect.hs 86;" f torqueCr src/Dodge/WorldEffect.hs 86;" f
torso src/Dodge/Creature/Picture.hs 100;" f torso src/Dodge/Creature/Picture.hs 100;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 847;" f tractorBeamAt src/Dodge/HeldUse.hs 843;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 46;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 39;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 417;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 416;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f 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
@@ -5291,7 +5290,7 @@ 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
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 237;" f tryClickUse src/Dodge/Creature/YourControl.hs 236;" f
tryCombine src/Dodge/Update/Input/InGame.hs 551;" f tryCombine src/Dodge/Update/Input/InGame.hs 551;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 151;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 139;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 139;" f
@@ -5353,7 +5352,7 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f
updateBarrel src/Dodge/Barreloid.hs 44;" f updateBarrel src/Dodge/Barreloid.hs 44;" f
updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f
updateBounds src/Dodge/Update/Camera.hs 268;" f updateBounds src/Dodge/Update/Camera.hs 267;" f
updateBulVel src/Dodge/Bullet.hs 57;" f updateBulVel src/Dodge/Bullet.hs 57;" f
updateBullet src/Dodge/Bullet.hs 22;" f updateBullet src/Dodge/Bullet.hs 22;" f
updateBullets src/Dodge/Update.hs 617;" f updateBullets src/Dodge/Update.hs 617;" f
@@ -5490,21 +5489,21 @@ upperPrismPolySU src/Shape.hs 110;" f
upperPrismPolyTS src/Shape.hs 116;" f upperPrismPolyTS src/Shape.hs 116;" f
upperRounded src/Shape.hs 182;" f upperRounded src/Shape.hs 182;" f
useBulletPayload src/Dodge/Bullet.hs 117;" f useBulletPayload src/Dodge/Bullet.hs 117;" f
useGasParams src/Dodge/HeldUse.hs 1114;" f useGasParams src/Dodge/HeldUse.hs 1108;" f
useHotkey src/Dodge/Creature/YourControl.hs 77;" f useHotkey src/Dodge/Creature/YourControl.hs 77;" f
useInventoryPath src/Dodge/HeldUse.hs 1406;" f useInventoryPath src/Dodge/HeldUse.hs 1399;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f
useLoadedAmmo src/Dodge/HeldUse.hs 738;" f useLoadedAmmo src/Dodge/HeldUse.hs 734;" f
useMagShield src/Dodge/Euse.hs 33;" f useMagShield src/Dodge/Euse.hs 33;" f
useNormalCamera src/Dodge/Camera.hs 6;" f useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1366;" f useRewindGun src/Dodge/HeldUse.hs 1359;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 187;" f useRoomPosCond src/Dodge/PlacementSpot.hs 187;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 190;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 190;" f
useStopWatch src/Dodge/HeldUse.hs 1347;" f useStopWatch src/Dodge/HeldUse.hs 1340;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1355;" f useTimeScrollGun src/Dodge/HeldUse.hs 1348;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 178;" f useUnusedLnk src/Dodge/PlacementSpot.hs 178;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 209;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 209;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 216;" f usedRoomLinkPoss src/Dodge/PlacementSpot.hs 216;" f
@@ -5528,7 +5527,7 @@ verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 23;" f verticalWire src/Dodge/Wire.hs 23;" f
vgunMuzzles src/Dodge/HeldUse.hs 359;" f vgunMuzzles src/Dodge/HeldUse.hs 359;" f
viewClipBounds src/Dodge/Debug/Picture.hs 350;" f viewClipBounds src/Dodge/Debug/Picture.hs 350;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 202;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 201;" f
viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f
viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f
@@ -5537,8 +5536,8 @@ visibleWalls src/Dodge/Base/Collide.hs 216;" f
visionCheck src/Dodge/Creature/Perception.hs 152;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 62;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 354;" f
walkNozzle src/Dodge/HeldUse.hs 823;" f walkNozzle src/Dodge/HeldUse.hs 819;" f
walkableNodeNear src/Dodge/Path.hs 69;" f walkableNodeNear src/Dodge/Path.hs 69;" f
wallBlips src/Dodge/RadarSweep.hs 99;" f wallBlips src/Dodge/RadarSweep.hs 99;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 54;" f
@@ -5546,7 +5545,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallToSurface src/Dodge/Base/Collide.hs 180;" f wallToSurface src/Dodge/Base/Collide.hs 180;" f
wallsFromRooms src/Dodge/Layout.hs 137;" f wallsFromRooms src/Dodge/Layout.hs 137;" f
wallsToDraw src/Dodge/Render/Walls.hs 18;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f
warmupSound src/Dodge/HeldUse.hs 1400;" f warmupSound src/Dodge/HeldUse.hs 1393;" f
warningRooms src/Dodge/Room/Warning.hs 33;" f warningRooms src/Dodge/Room/Warning.hs 33;" f
warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 845;" f
wasdAim src/Dodge/Creature/YourControl.hs 133;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f