This commit is contained in:
2025-08-27 18:55:25 +01:00
parent 86696deb56
commit 40d2d316cb
35 changed files with 316 additions and 431 deletions
+7 -1
View File
@@ -1,7 +1,13 @@
Seed: 7114951007332849727
Room layout (compact):
0
0,1,2,3
Layout with room names:
Corridor-0
|
6gon-1
|
defaultRoom-2
|
autoRect-3
+1 -1
View File
@@ -1,4 +1,4 @@
Generating level with seed 7114951007332849727
After 1 attempt(s), Successful generation of level with seed 7114951007332849727
1 rooms in total
4 rooms in total
+11 -1
View File
@@ -1,5 +1,15 @@
Seed: 7114951007332849727
0:teststart
|
1:TutDrop
0:0:Corridor
0:0:teststart
0:0:0:Corridor
1:0:6gon
|
1:1:defaultRoom
|
1:2:autoRect
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -30,7 +30,7 @@ annoToRoomTree an = case an of
i <- nextLayoutInt
(functionlockroom, randomitemidentity) <- takeOne ls
lr <- zoom lyGen $ functionlockroom i
ii <- zoom lyGen $ randomitemidentity
ii <- zoom lyGen randomitemidentity
keyroom <- zoom lyGen . fromJust $ lookup ii ks
return $
MTree
+1 -1
View File
@@ -168,7 +168,7 @@ dropExcept :: Creature -> Int -> World -> World
dropExcept cr invid w =
foldr (dropItem cr) w . IM.keys $
-- invid `IM.delete` _crInv cr
invid `IM.delete` (_unNIntMap $ _crInv cr)
invid `IM.delete` _unNIntMap (_crInv cr)
-- why not a cid (Int)?
dropItem :: Creature -> Int -> World -> World
-8
View File
@@ -36,14 +36,6 @@ equipSitePQ = \case
translatePointToRightHand :: Creature -> Point3 -> Point3
translatePointToRightHand cr p = fst (rightHandPQ cr `Q.comp` (p,Q.qID))
--equipSitePQ :: EquipSite -> IM.IntMap Item -> Creature -> Point3Q
--equipSitePQ = \case
-- OnRightWrist -> rightHandPQ
-- OnLeftWrist -> leftHandPQ
-- OnBack -> backPQ
-- OnChest -> chestPQ
-- _ -> undefined
rightHandPQ :: Creature -> Point3Q
rightHandPQ cr
| oneH cr = (V3 11 (-3) 20, Q.qID)
+1 -1
View File
@@ -19,7 +19,7 @@ import Dodge.Item.Location
useItem :: Int -> Int -> World -> Maybe World
useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
itmloc <- invIndents (fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ _crInv cr) ^? ix invid . _2
itmloc <- invIndents ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr) ^? ix invid . _2
useItemLoc cr itmloc pt w
useItemLoc :: Creature -> LocationDT OItem -> Int -> World -> Maybe World
-3
View File
@@ -87,9 +87,6 @@ crAwayFromPost cr = case find sentinelGoal . _apGoal $ _crActionPlan cr of
sentinelGoal (SentinelAt _ _) = True
sentinelGoal _ = False
--crCanShoot :: Creature -> Bool
--crCanShoot cr = crIsAiming cr && crWeaponReady cr
crInAimStance :: AimStance -> Creature -> Bool
crInAimStance as cr = cr ^? crStance . posture . aimStance == Just as
+2 -2
View File
@@ -156,11 +156,11 @@ updateDisplaySections w cfig =
cr = you w
closeitms =
IM.fromDistinctAscList . zip [0 ..] $
mapMaybe (closeItemToSelectionItem w) (map _unNInt $ w ^. hud . closeItems)
mapMaybe (closeItemToSelectionItem w . _unNInt) (w ^. hud . closeItems)
invitems =
IM.map
(uncurry (invSelectionItem w))
(invIndents $ fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ _crInv cr)
(invIndents $ (\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr)
filterSectionsPair ::
Bool -> -- check for whether filter is in focus, changes string at the end
+11 -7
View File
@@ -13,6 +13,7 @@ import Dodge.Wall.ForceField
import Dodge.Wall.Move
import Geometry
import qualified IntMapHelp as IM
import NewInt
effectOnRemove :: Item -> Creature -> World -> World
effectOnRemove itm = case itm ^. itType of
@@ -49,11 +50,14 @@ setWristShieldPos itm cr w = w & moveWallIDUnsafe i wlline
where
i = _itParamID $ _itParams itm
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
invid = _ilInvID (_itLocation itm)
handtrans = case cr ^? crInv . ix invid >>= \k -> w ^? cWorld . lWorld . items . ix k . itLocation . ilEquipSite . _Just of
Just x -> translateToES cr x -- . g
_ -> undefined
-- g
-- | twists cr = (+.+.+ V3 (-5) 10 0)
-- | otherwise = id
handtrans = case w ^? cWorld . lWorld . items
. ix (itm ^. itID . unNInt)
. itLocation
. ilEquipSite
. _Just of
Just x -> translateToES cr x -- . g
_ -> undefined
-- g
-- | twists cr = (+.+.+ V3 (-5) 10 0)
-- | otherwise = id
f = (+.+ _crPos cr) . stripZ . rotate3 (_crDir cr) . handtrans
+1 -1
View File
@@ -33,7 +33,7 @@ useMagShield mt _ cr w =
}
setWristShieldPos :: Item -> Creature -> EquipSite -> World -> World
setWristShieldPos itm cr x w = moveWallIDUnsafe i wlline w
setWristShieldPos itm cr x = moveWallIDUnsafe i wlline
where
i = _itParamID $ _itParams itm
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
+1 -1
View File
@@ -128,4 +128,4 @@ intAnno f = do
zoom lyGen (f i)
anRoom :: State StdGen Room -> Annotation
anRoom t = AnTree $ zoom lyGen $ (tToBTree "anRoom" . return . cleatOnward <$> t)
anRoom t = AnTree $ zoom lyGen (tToBTree "anRoom" . return . cleatOnward <$> t)
+24 -33
View File
@@ -419,8 +419,7 @@ itemSidePush = \case
applyInvLock :: Item -> Creature -> World -> World
applyInvLock itm cr = case itemInvLock itm of
i
| i > 0 && cid == 0 ->
i | i > 0 && cid == 0 ->
(cWorld . lWorld . delayedEvents .:~ (i, UnlockInv)) . lockInv
_ -> id
where
@@ -668,12 +667,11 @@ makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of
--{-# OPTIONS -Wno-incomplete-uni-patterns #-}
muzFlareAt :: Color -> Point3 -> Float -> World -> World
muzFlareAt col tranv dir w =
w & randGen .~ g
& cWorld . lWorld . flares <>~ thepic
muzFlareAt col x dir w =
w & randGen .~ g & cWorld . lWorld . flares <>~ thepic
where
thepic =
setLayer BloomLayer . translate3 tranv . color col . rotate dir . polygon $
setLayer BloomLayer . translate3 x . color col . rotate dir . polygon $
[ V2 0 0
, V2 a (- b)
, V2 c d
@@ -779,11 +777,7 @@ itemDetectorEffect itm mitid armitid cr w = fromMaybe w $ do
walkNozzle :: Muzzle -> Item -> World -> World
walkNozzle mz itm w =
w
& cWorld . lWorld . items
. ix (itm ^. itID . unNInt)
. itParams
. nzAngle
%~ f
& cWorld . lWorld . items . ix (itm ^. itID . unNInt) . itParams . nzAngle %~ f
& randGen .~ g
where
nz = _mzEffect mz
@@ -1118,8 +1112,13 @@ mcUseHeld hit = case hit of
LASER -> mcShootLaser
_ -> mcShootAuto
useGasParams :: Maybe (NewInt InvInt)
-> Muzzle -> LocationDT OItem -> Creature -> World -> World
useGasParams ::
Maybe (NewInt InvInt) ->
Muzzle ->
LocationDT OItem ->
Creature ->
World ->
World
useGasParams mmagid mz loc cr w =
w
& createGas gastype pressure pos dir cr
@@ -1319,25 +1318,17 @@ createProjectile ::
Creature ->
World ->
World
createProjectile x pjtype magtree stab muz cr w =
w
& ( fromMaybe failsound $ do
magid <- magtree ^? dtValue . _1 . itLocation . ilInvID
ammoitem <- cr ^? crInv . ix magid >>= \k -> w ^? cWorld . lWorld . items . ix k
let rdetonate =
(^. dtValue . _1 . itID)
<$> find isrdet (magtree ^. dtLeft)
rscreen =
(^. dtValue . _1 . itID)
<$> find isrscreen (magtree ^. dtLeft)
aparams <-
((magtree ^? dtLeft) >>= find isampay >>= (^? dtValue . _1 . itType . ibtAttach . shellPayload))
-- <|> ammoitem ^? itConsumables . magParams . ampPayload
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return $
createShell x rdetonate rscreen stab pjtype aparams muz cr
. startthesound
)
createProjectile x pjtype mtree stab muz cr w = fromMaybe (failsound w) $ do
magitid <- mtree ^? dtValue . _1 . itID . unNInt
ammoitem <- w ^? cWorld . lWorld . items . ix magitid
let rdetonate =
(^. dtValue . _1 . itID) <$> find isrdet (mtree ^. dtLeft)
rscreen =
(^. dtValue . _1 . itID) <$> find isrscreen (mtree ^. dtLeft)
aparams <-
((mtree ^? dtLeft) >>= find isampay >>= (^? dtValue . _1 . itType . ibtAttach . shellPayload))
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return . makesound $ createShell x rdetonate rscreen stab pjtype aparams muz cr w
where
isrdet :: DTree OItem -> Bool
isrdet y = case y ^. dtValue . _2 of
@@ -1353,7 +1344,7 @@ createProjectile x pjtype magtree stab muz cr w =
_ -> False
-- the sound should be moved to the projectile firing
startthesound =
makesound =
soundMultiFrom
[CrWeaponSound (_crID cr) j | j <- [0 .. 3]]
(_crPos cr)
+7 -15
View File
@@ -6,27 +6,19 @@ import Dodge.Data.World
import LensHelp
inTextInputFocus :: World -> Bool
inTextInputFocus = isJust . inputFocusI
inTextInputFocus = isJust . textInputFocus
inputFocusI :: World -> Maybe ((String -> Identity String) -> World -> Identity World)
inputFocusI = textInputFocus
textInputFocus ::
Applicative f =>
World ->
Maybe ((String -> f String) -> World -> f World)
textInputFocus w = case w ^? hud . subInventory of
Just NoSubInventory{} -> case he ^? diSelection . _Just . slSec of
textInputFocus :: World -> Maybe ((String -> Identity String) -> World -> Identity World)
textInputFocus w = case w ^. hud . subInventory of
NoSubInventory{} -> case he ^? diSelection . _Just . slSec of
Just (-1) -> Just $ hud . diInvFilter . _Just
Just 2 -> Just $ hud . diCloseFilter . _Just
_ -> Nothing
Just CombineInventory{} -> case he ^? subInventory . ciSelection . _Just . slSec of
CombineInventory{} -> case he ^? subInventory . ciSelection . _Just . slSec of
Just (-1) -> Just $ hud . subInventory . ciFilter . _Just
_ -> Nothing
Just DisplayTerminal{_termID = tmid} -> do
-- connectionstatus <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus
-- guard $ connectionstatus == TerminalTextInput
return $ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText
DisplayTerminal{_termID = tmid} -> return
$ cWorld . lWorld . terminals . ix tmid . tmStatus . tiText
_ -> Nothing
where
he = w ^. hud
+1 -2
View File
@@ -19,7 +19,6 @@ import Dodge.SoundLogic
import qualified IntMapHelp as IM
import NewInt
-- should check that the item is not already in your inventory
-- this assumes that this item is currently on the floor
tryPutItemInInv :: Int -> Int -> World -> Maybe (NewInt InvInt, World)
tryPutItemInInv cid itid w = do
@@ -44,7 +43,7 @@ tryPutItemInInv cid itid w = do
where
updateselectionextra i
| cid == 0 = (hud . diSelection . _Just . slSet %~ IS.map (f i))
. (hud . diSelection . _Just . slInt %~ (f i))
. (hud . diSelection . _Just . slInt %~ f i)
| otherwise = id
f j i | i >= _unNInt j = i + 1
| otherwise = i
+1 -1
View File
@@ -1,4 +1,4 @@
{-# LANGUAGE TupleSections #-}
--{-# LANGUAGE TupleSections #-}
module Dodge.Inventory.RBList (
updateRBList,
+16 -29
View File
@@ -1,29 +1,26 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Item.Draw (
itemSPic,
itemEquipPict,
) where
import qualified Quaternion as Q
import Dodge.Data.Equipment.Misc
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Geometry.Data
module Dodge.Item.Draw (itemEquipPict) where
import Control.Lens
import Dodge.Creature.HandPos
import Dodge.Data.ComposedItem
import Dodge.Data.Creature
import Dodge.Data.DoubleTree
import Dodge.Data.Equipment.Misc
import Dodge.Item.Draw.SPic
import Dodge.Item.HeldOffset
import Geometry.Data
import qualified Quaternion as Q
import ShapePicture
itemEquipPict :: Creature -> DTree CItem -> SPic
itemEquipPict cr itmtree
| --Just i <- itm ^? itLocation . ilInvID
Just esite <- itm ^? itLocation . ilEquipSite . _Just
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip
= equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
= overPosSP (Q.prePos $ handHandleOrient loc cr) (itemTreeSPic itmtree)
| Just esite <- itm ^? itLocation . ilEquipSite . _Just
, Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip =
equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem =
overPosSP (Q.prePos $ handHandleOrient loc cr) (itemTreeSPic itmtree)
| otherwise = mempty
where
itm = itmtree ^. dtValue . _1
@@ -31,23 +28,13 @@ itemEquipPict cr itmtree
equipAttachPos :: EquipItemType -> Point3Q
equipAttachPos = \case
BATTERYPACK -> (V3 (-8) 0 10, Q.qID)
BATTERYPACK -> (V3 (-8) 0 10, Q.qID)
FUELPACK -> (V3 (-9) 0 10, Q.qID)
BULLETBELTPACK -> (V3 (-9) 0 10, Q.qID)
BULLETBELTBRACER -> (V3 (-9) 0 10, Q.qID)
_ -> (0, Q.qID)
equipPosition :: EquipSite -> Creature -> Point3Q -> SPic -> SPic
equipPosition es cr q = overPosSP
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x,Q.qID))
-- case epos of
-- --OnLeftWrist -> translateToLeftWrist cr
-- --OnRightWrist -> translateToRightWrist cr
-- OnLeftWrist -> overPosSP (translateToES cr OnLeftWrist)
-- OnRightWrist -> overPosSP (translateToES cr OnRightWrist)
-- OnLegs ->
-- translateToLeftLeg cr
-- <> translateToRightLeg cr-- (mirrorSPxz sh)
-- OnHead -> overPosSP (translateToES cr OnHead)
-- OnChest -> overPosSP (translateToES cr OnChest)
-- OnBack -> overPosSP (\x -> fst $ backPQ cr `Q.comp` (p + x,Q.qID))
equipPosition es cr q =
overPosSP
(\x -> fst $ equipSitePQ es cr `Q.comp` q `Q.comp` (x, Q.qID))
-76
View File
@@ -1,76 +0,0 @@
module Dodge.Item.Location.Initialize
( -- initSpecificCrItemLocations
--, initItemLocations
)
where
--import NewInt
--import Dodge.Data.LWorld
--import Control.Lens
--import qualified IntMapHelp as IM
--import Data.Traversable
--initItemLocations :: LWorld -> LWorld
----initItemLocations = initCrsItemLocations . initFlItemsLocations . initTusItemLocations
--initItemLocations = initCrsItemLocations -- . initTusItemLocations
--
--initCrsItemLocations :: LWorld -> LWorld
--initCrsItemLocations w = w' & creatures .~ newcreatures
-- where
-- (w', newcreatures) = mapAccumR initCrItemLocations w (w ^. creatures)
--
----initFlItemsLocations :: LWorld -> LWorld
----initFlItemsLocations w = w' & floorItems .~ newfloorItems
---- where
---- (w', newfloorItems) = mapAccumR initFlItemLocation w (w ^. floorItems)
--
----initTusItemLocations :: LWorld -> LWorld
----initTusItemLocations w = w' & machines .~ newmachines
---- where
---- (w', newmachines) = mapAccumR initTuItemLocation w (w ^. machines)
--
--initSpecificCrItemLocations :: Int -> LWorld -> LWorld
--initSpecificCrItemLocations crid w = w' & creatures . ix crid .~ newcr
-- where
-- (w',newcr) = initCrItemLocations w (w ^?! creatures . ix crid)
--
--initCrItemLocations :: LWorld -> Creature -> (LWorld, Creature)
--initCrItemLocations w cr = (w', cr & crInv .~ newinv)
-- where
-- (w',newinv) = imapAccumR (initCrItemLocation cr) w (_crInv cr)
--
---- does not worry about creature manipulation for now
--initCrItemLocation :: Creature -> Int -> LWorld -> Int -> (LWorld,Item)
--initCrItemLocation cr invid w itid = (w & itemLocations . at locid ?~ loc
-- ,it & itID .~ NInt locid
-- & itLocation .~ loc)
-- where
-- locid = IM.newKey ( w ^. itemLocations)
-- loc = InInv
-- { _ilCrID = _crID cr
-- , _ilInvID = invid
-- , _ilIsRoot = False
-- , _ilIsSelected = False
-- , _ilIsAttached = False
-- , _ilEquipSite = Nothing
-- }
--
--
----initFlItemLocation :: LWorld -> FloorItem -> (LWorld, FloorItem)
----initFlItemLocation w flit = (w & itemLocations . at locid ?~ loc
---- , flit & flIt . itID .~ NInt locid
---- & flIt . itLocation .~ loc
---- )
---- where
---- locid = IM.newKey (w ^. itemLocations )
---- loc = OnFloor (_flItID flit)
--
----initTuItemLocation :: LWorld -> Machine -> (LWorld, Machine)
----initTuItemLocation w mc = case mc ^? mcType . _McTurret . tuWeapon of
---- Nothing -> (w, mc)
---- Just _ ->
---- let locid = IM.newKey ( w ^. itemLocations)
---- loc = OnTurret (_mcID mc)
---- in ( w & itemLocations . at locid ?~ loc
---- , mc & mcType . _McTurret . tuWeapon . itID .~ NInt locid
---- & mcType . _McTurret . tuWeapon . itLocation .~ loc
---- )
+1 -1
View File
@@ -154,7 +154,7 @@ mcProxTest :: Machine -> World -> Bool
mcProxTest mc w = case mc ^? mcType . _McSensor . proxRequirement of
Just (RequireHealth x) -> _crHP cr >= x
Just (RequireEquipment ct) -> any (\itm -> _itType itm == ct)
(fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ _crInv cr)
((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr)
_ -> False
where
cr = you w
+30 -22
View File
@@ -1,12 +1,12 @@
{-# LANGUAGE LambdaCase #-}
{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
{- | deals with placement of objects within the world
after they have had their coordinates set by the layout
-}
module Dodge.Placement.PlaceSpot (placeSpot) where
import NewInt
import Color
import LensHelp
import Control.Monad.State
import Data.Bifunctor
import Data.Foldable
@@ -21,6 +21,8 @@ import Dodge.Placement.Shift
import Dodge.ShiftPoint
import Geometry
import qualified IntMapHelp as IM
import LensHelp
import NewInt
import System.Random
-- when placing a placement, we update the world and the room and assign an id
@@ -109,17 +111,21 @@ placeSpotID' ps pt w = case pt of
PutProp prp -> plNewUpID (cWorld . lWorld . props) prID (mvProp p rot prp) w
PutButton bt -> plNewUpID (cWorld . lWorld . buttons) btID (mvButton p rot bt) w
PutTerminal tm -> plNewUpID (cWorld . lWorld . terminals) tmID tm w
PutFlIt itm -> let i = IM.newKey (w ^. cWorld . lWorld . items)
in (i, w
& cWorld . lWorld . floorItems . at i ?~ createFlIt p rot
& cWorld . lWorld . items . at i ?~ (itm & itID .~ NInt i
& itLocation .~ OnFloor)
PutFlIt itm ->
let i = IM.newKey (w ^. cWorld . lWorld . items)
in ( i
, w
& cWorld . lWorld . floorItems . at i ?~ FlIt p rot
& cWorld . lWorld . items . at i
?~ ( itm & itID .~ NInt i
& itLocation .~ OnFloor
)
)
-- plNewUpID
-- (cWorld . lWorld . floorItems . unNIntMap)
-- (flItID . unNInt)
-- (createFlIt p rot itm)
-- w
-- plNewUpID
-- (cWorld . lWorld . floorItems . unNIntMap)
-- (flItID . unNInt)
-- (createFlIt p rot itm)
-- w
PutCrit cr -> plNewUpID (cWorld . lWorld . creatures) crID (mvCr p rot cr) w
PutForeground fs -> plNewUpID (cWorld . lWorld . foregroundShapes) fsID (mvFS p rot fs) w
PutMachine pps mc wl mitm -> plMachine (map doShift pps) mc wl mitm p rot w
@@ -181,10 +187,6 @@ mvProp p a = (prRot +~ a) . (prPos %~ ((p +.+) . rotateV a))
mvButton :: Point2 -> Float -> Button -> Button
mvButton p a = (btRot +~ a) . (btPos %~ ((p +.+) . rotateV a))
{- Creates a floor item at a given point.-}
createFlIt :: Point2 -> Float -> FloorItem
createFlIt p rot = FlIt{_flItPos = p, _flItRot = rot}
mvPP :: Point2 -> Float -> PressPlate -> PressPlate
mvPP p rot pp = pp{_ppPos = p, _ppRot = rot}
@@ -194,8 +196,9 @@ mvCr p rot cr = cr{_crPos = p, _crOldPos = p, _crDir = rot}
mvFS :: Point2 -> Float -> ForegroundShape -> ForegroundShape
mvFS p a = (fsDir +~ a) . (fsPos %~ ((p +.+) . rotateV a))
plMachine :: [Point2] -> Machine -> Wall -> Maybe Item -> Point2 -> Float -> World -> (Int, World)
plMachine wallpoly mc wl mitm = case mitm of
plMachine ::
[Point2] -> Machine -> Wall -> Maybe Item -> Point2 -> Float -> World -> (Int, World)
plMachine wallpoly mc wl = \case
Nothing -> plMachine' wallpoly mc wl
Just itm -> plTurret wallpoly mc wl itm
@@ -207,15 +210,20 @@ plTurret wallpoly mc wl itm p rot gw =
& cWorld . lWorld . items . at itid ?~ itm'
)
where
itm' = itm & itID .~ NInt itid
& itLocation .~ OnTurret mcid
itm' =
itm & itID .~ NInt itid
& itLocation .~ OnTurret mcid
itid = IM.newKey $ gw ^. cWorld . lWorld . items
col = _mcColor mc
mcid = IM.newKey $ gw ^. cWorld . lWorld . machines
wlid = IM.newKey $ gw ^. cWorld . lWorld . walls
wlids = IS.fromList [wlid .. wlid + length wallpoly - 1]
addMc = IM.insert mcid (mc{_mcPos = p, _mcDir = rot, _mcID = mcid, _mcWallIDs = wlids}
& mcType . mctTurret . tuWeapon .~ itid)
addMc =
IM.insert
mcid
( mc{_mcPos = p, _mcDir = rot, _mcID = mcid, _mcWallIDs = wlids}
& mcType . mctTurret . tuWeapon .~ itid
)
plMachine' :: [Point2] -> Machine -> Wall -> Point2 -> Float -> World -> (Int, World)
plMachine' wallpoly mc wl p rot gw =
-2
View File
@@ -43,8 +43,6 @@ createShell (p,q) mdetonator mscreen stab pjtype payload muz cr w =
, _pjPayload = payload
, _pjTimer = lifespan
, _pjBarrelSpin = bs
-- , _pjUpdates =
-- anyspin
, _pjType = pjtype
, _pjDetonatorID = mdetonator
, _pjScreenID = mscreen
-2
View File
@@ -209,8 +209,6 @@ doThrust pj smoke w =
(sparkD, _) = randomR (-0.2, 0.2) $ _randGen w
r1 = randInCirc 10 & evalState $ _randGen w
-- there doesn't seem to be a more sensible way to filter the first occurence of
-- a list than deleteBy
doBarrelSpin :: Int -> Float -> Projectile -> World -> World
doBarrelSpin cid i pj w =
w & cWorld . lWorld . projectiles . ix pjid . pjSpin .~ newSpin
+3 -2
View File
@@ -2,6 +2,7 @@ module Dodge.Render.ShapePicture (
worldSPic,
) where
import Dodge.Item.Draw.SPic
import Control.Lens
import Data.Foldable
import Data.Strict.Tuple
@@ -30,7 +31,7 @@ worldSPic cfig u =
<> foldup (shiftDraw' _cpPos _cpDir _cpSPic) (filtOn _cpPos _corpses)
<> foldup (drawCreature (u ^. uvWorld . cWorld . lWorld . items))
(filtOn _crPos _creatures)
<> foldup (Prelude.uncurry floorItemSPic) (IM.intersectionWith (,) (u^.uvWorld.cWorld.lWorld.items) (filtOn _flItPos (_floorItems)))
<> foldup (Prelude.uncurry floorItemSPic) (IM.intersectionWith (,) (u^.uvWorld.cWorld.lWorld.items) (filtOn _flItPos _floorItems))
<> foldup btSPic (filtOn _btPos _buttons)
<> foldup (mcSPic (u ^. uvWorld . cWorld . lWorld)) (filtOn _mcPos _machines)
<> foldMap' drawChasm (u ^. uvWorld . cWorld . chasms)
@@ -123,7 +124,7 @@ floorItemSPic itm flit =
uncurryV translateSPxy (_flItPos flit) $
rotateSP
(_flItRot flit)
(itemSPic $ itm)
(itemSPic itm)
btSPic :: Button -> SPic
btSPic bt =
+3 -4
View File
@@ -42,7 +42,7 @@ lightSensInsideDoor i rm =
, psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100)))
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
]
& rmOutPmnt . at i ?~ (sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100))
& rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)
lightSensByDoor :: Int -> Room -> Room
lightSensByDoor i rm =
@@ -52,7 +52,7 @@ lightSensByDoor i rm =
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape
]
& rmOutPmnt . at i ?~ (sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift))
& rmOutPmnt . at i ?~ sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)
where
covershape = rectNSWE 10 (-10) (-20) 20
sensorshift (p, a) = (p +.+ rotateV a (V2 60 (-20)), a)
@@ -82,11 +82,10 @@ analyserByNthLink n proxreq i rm =
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
]
& rmOutPmnt . at i ?~
( analyser
analyser
proxreq
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
(atNthLnkOutShiftBy n sensorshift)
)
where
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
+1 -1
View File
@@ -66,4 +66,4 @@ sensInsideDoor senseType i rm = rm
(textTerminal & tmCommands .:~ TCDamageCommand)
& plSpot .~ rprBoolShift isUnusedLnk (shiftInBy 10)
]
& rmOutPmnt . at i ?~ (sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100))
& rmOutPmnt . at i ?~ sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100)
+2 -2
View File
@@ -42,9 +42,9 @@ import TreeHelp
tutAnoTree :: Annotation
tutAnoTree =
OnwardList $
OnwardList
[ AnTree $ return $ tToBTree "teststart" $ return $ cleatOnward corridor
-- , AnTree $ tutDrop
, AnTree $ tutDrop
---- , AnTree $ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
-- , AnTree corDoor
-- , AnTree $ tutRooms
+3 -2
View File
@@ -52,10 +52,11 @@ addDoorAtNthLinkToggleTerminal j xs i = (rmName .++~ "doorToggle-")
addWarningTerminal :: String -> Int -> Room -> Room
addWarningTerminal str = addDoorToggleTerminal (makeColorTermLine red "WARNING" : makeTermPara str)
addWarningTerminal str = addDoorToggleTerminal
(makeColorTermLine red "WARNING" : makeTermPara str)
lineOutputTerminal :: [TerminalLine] -> Terminal
lineOutputTerminal tls = defaultTerminal & tmBootLines .~ connectionBlurbLines tls
lineOutputTerminal tls = defaultTerminal & tmBootLines .~ textInputBlurb tls
moveToSideNthOutLink :: Int -> RoomPos -> Room -> Maybe (Point2, Float)
moveToSideNthOutLink i rp rm = do
+4 -7
View File
@@ -2,7 +2,7 @@
module Dodge.Terminal (
makeTermLine,
connectionBlurbLines,
textInputBlurb,
textTerminal,
simpleTermMessage,
damageCodeCommand,
@@ -33,19 +33,16 @@ import LensHelp
import Sound.Data
textTerminal :: Terminal
textTerminal = defaultTerminal{_tmBootLines = connectionBlurb}
textTerminal = defaultTerminal{_tmBootLines = textInputBlurb []}
connectionBlurbLines :: [TerminalLine] -> [TerminalLine]
connectionBlurbLines tls =
textInputBlurb :: [TerminalLine] -> [TerminalLine]
textInputBlurb tls =
[ termSoundLine computerBeepingS
, TLine 0 [TerminalLineConst "LOADING TEXT INTERFACE..." termTextColor] TmWdId
]
++ tls
++ [TLine 10 [TerminalLineConst "READY FOR INPUT" termTextColor] (TmTmSetStatus (TerminalTextInput ""))]
connectionBlurb :: [TerminalLine]
connectionBlurb = connectionBlurbLines []
termSoundLine :: SoundID -> TerminalLine
termSoundLine sid = TLine 0 [] (TmWdWdTermSound sid)
+1 -3
View File
@@ -1,6 +1,4 @@
module Dodge.Terminal.Color (
termScreenColor,
) where
module Dodge.Terminal.Color (termScreenColor) where
import Dodge.Data.Terminal.Status
import Dodge.Data.Terminal
-1
View File
@@ -364,7 +364,6 @@ updateMouseContextGame cfig u = case u ^. uvWorld . input . mouseContext of
mpos = w ^. input . mousePos
disss = w ^. hud . diSections
invdrag i' = fromMaybe (OverInvDrag i' Nothing) $ do
-- sss <- w ^? hud . diSections
(i, j) <- inverseSelNumPos cfig invDP mpos disss
return $ OverInvDrag i' (Just (i, j))
overinv = do
+1 -1
View File
@@ -545,7 +545,7 @@ tryCombine (i, j) w = fromMaybe w $ do
. ciSections . ix i . ssItems . ix j . siPayload . _Just
p <- w ^? cWorld . lWorld . creatures . ix 0 . crPos
return $
(createItemYou it (foldr (destroyInvItem 0 . NInt) w (sort is)))
createItemYou it (foldr (destroyInvItem 0 . NInt) w (sort is))
& soundStart InventorySound p wrench1S Nothing
& hud . diSelection . _Just . slSet .~ mempty
+33 -48
View File
@@ -3,22 +3,22 @@ module Dodge.Update.Scroll (
updateWheelEvent,
) where
import NewInt
import Control.Applicative
import qualified Data.ListTrie.Patricia.Map.Enum as PTE
import Dodge.Data.Terminal.Status
import Dodge.Data.EquipType
import Padding
import Control.Monad
import qualified Data.ListTrie.Patricia.Map.Enum as PTE
import qualified Data.Map.Strict as M
import Data.Maybe
import Dodge.Base
import Dodge.Data.EquipType
import Dodge.Data.Terminal.Status
import Dodge.Data.Universe
import Dodge.Inventory
import Dodge.SelectionSections
import Dodge.Terminal
import Geometry
import LensHelp
import NewInt
import Padding
import SDL
-- yi should be nonzero
@@ -33,7 +33,7 @@ updateWheelEvent yi w = case w ^. hud . subInventory of
-- yi should be nonzero
updateBaseWheelEvent :: Int -> World -> World
updateBaseWheelEvent yi w
-- | Just True <- w ^? cWorld . lWorld . creatures . ix 0 . crInvLock = w
-- | Just True <- w ^? cWorld . lWorld . creatures . ix 0 . crInvLock = w
| Just True <- w ^? cWorld . lWorld . lInvLock = w
| bdown ButtonRight = case _rbState w of
EquipOptions{} -> w & rbState . opSel %~ scrollRBOption yi rbscrollmax
@@ -56,8 +56,9 @@ selectedItemScroll yi w = do
itemScroll :: Int -> Item -> World -> World
itemScroll yi itm w
| Just xs <- itm ^? itUse . uaParams . apProjectiles = w
& itmlens . itUse . uaParams . apProjectiles .~ rotateList yi xs
| Just xs <- itm ^? itUse . uaParams . apProjectiles =
w
& itmlens . itUse . uaParams . apProjectiles .~ rotateList yi xs
| ATTACH ZOOMSCOPE <- itm ^. itType = updateScopeZoom (itm ^. itID) w
| HELD ALTERIFLE <- itm ^. itType
, yi /= 0 =
@@ -65,8 +66,9 @@ itemScroll yi itm w
& itmlens . itParams . alteRifleSwitch
%~ ((`mod` 2) . (+ 1))
| isJust $ itm ^? itScroll . itsInt = w & itmlens . itScroll . itsInt +~ yi
| Just y <- itm ^? itScroll . itsMax = w & itmlens . itScroll . itsRangeInt
%~ ((`mod` y) . (+ yi))
| Just y <- itm ^? itScroll . itsMax =
w & itmlens . itScroll . itsRangeInt
%~ ((`mod` y) . (+ yi))
| otherwise = w
where
--itmlens = cWorld . lWorld . creatures . ix 0 . crInv . ix invid
@@ -140,77 +142,60 @@ terminalWheelEvent yi tmid w
wrapdown s coms = PTE.findPredecessor s coms <|> PTE.findMax coms
f tm = fromMaybe tm $ do
let coms = getCommands w tm
x <- tm ^? tmStatus . tiText
x <- tm ^? tmStatus . tiText
let s = fromMaybe "" $ x ^? to words . ix 0
(s',_) <- dowrap s coms
(s', _) <- dowrap s coms
return $ tm & tmStatus . tiText .~ s'
g tm = fromMaybe tm $ do
let coms = getCommands w tm
x <- tm ^? tmStatus . tiText
let s = fromMaybe "" $ x ^? to words . ix 0
y = fromMaybe "" $ x ^? to words . ix 1
-- (s',m) <- fmap (s,) (PTE.lookup s coms) <|> dowrap s coms
-- (arg,_) <- dowrap y m
(s',arg,_) <- if yi > 0 then doubleFindSucc s y coms <|> doubleFindMin coms
else doubleFindPred s y coms <|> doubleFindMax coms
(s', arg, _) <-
if yi > 0
then doubleFindSucc s y coms <|> doubleFindMin coms
else doubleFindPred s y coms <|> doubleFindMax coms
return $ tm & tmStatus . tiText .~ s' ++ " " ++ arg
--case tm ^? tmInput . tiSel of
-- Nothing -> tm & tmInput . tiSel .~ (0, 0)
-- Just (i, _) ->
-- let newi = (i - yi) `mod` length (scrollCommandStrings w tm)
-- in tm & setInput newi 0
-- updatetermsubsel tm = case tm ^? tmInput . tiSel of
-- Nothing -> tm & tmInput . tiSel .~ (0, 0)
-- Just (i, j) ->
-- let newj = (j - yi) `mod` length (getArguments' (scrollCommands tm !! i) tm w)
-- in tm & setInput i newj
-- setInput i j tm =
-- tm
-- & tmInput . tiSel .~ (i, j)
-- & tmStatus . tiText .~ comstr ++ arg
-- where
-- comstr = scrollCommandStrings w tm !! i
-- tc = scrollCommands tm !! i
-- arg = getArguments' tc tm w !! j
doubleFindMin :: (Enum a,Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a],[b],c)
doubleFindMin :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
doubleFindMin m = do
(x,n) <- PTE.findMin m
(x, n) <- PTE.findMin m
case PTE.findMin n of
Just (y,z) -> Just (x,y,z)
Just (y, z) -> Just (x, y, z)
Nothing -> Nothing
doubleFindSucc :: (Enum a,Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a],[b],c)
doubleFindSucc :: (Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
doubleFindSucc xs ys m = case PTE.lookup xs m of
Just m' -> case PTE.findSuccessor ys m' of
Just (ys',z) -> Just (xs,ys',z)
Just (ys', z) -> Just (xs, ys', z)
Nothing -> dfs xs m
Nothing -> dfs xs m
where
dfs xs' m' = case PTE.findSuccessor xs' m' of
Just (xs'',n) -> case PTE.findMin n of
Just (ys',z) -> Just (xs'',ys',z)
Just (xs'', n) -> case PTE.findMin n of
Just (ys', z) -> Just (xs'', ys', z)
Nothing -> dfs xs'' m'
Nothing -> Nothing
-- there are edge cases where this doesn't behave as might be expected
doubleFindMax :: (Enum a,Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a],[b],c)
doubleFindMax :: (Enum a, Enum b) => PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
doubleFindMax m = do
(x,n) <- PTE.findMax m
(x, n) <- PTE.findMax m
case PTE.findMax n of
Just (y,z) -> Just (x,y,z)
Just (y, z) -> Just (x, y, z)
Nothing -> Nothing
doubleFindPred :: (Enum a,Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a],[b],c)
doubleFindPred ::
(Enum a, Enum b) => [a] -> [b] -> PTE.TrieMap a (PTE.TrieMap b c) -> Maybe ([a], [b], c)
doubleFindPred xs ys m = case PTE.lookup xs m of
Just m' -> case PTE.findPredecessor ys m' of
Just (ys',z) -> Just (xs,ys',z)
Just (ys', z) -> Just (xs, ys', z)
Nothing -> dfs xs m
Nothing -> dfs xs m
where
dfs xs' m' = case PTE.findPredecessor xs' m' of
Just (xs'',n) -> case PTE.findMax n of
Just (ys',z) -> Just (xs'',ys',z)
Just (xs'', n) -> case PTE.findMax n of
Just (ys', z) -> Just (xs'', ys', z)
Nothing -> dfs xs'' m'
Nothing -> Nothing
+3 -3
View File
@@ -93,9 +93,9 @@ doTmWdWd tmwdwd = case tmwdwd of
TmWdId -> const id
TmWdWdPowerDownTerminal -> resetTerminal TerminalOff
TmWdWdDeactivateTerminal -> resetTerminal TerminalDeactivated
TmWdWdTermSound sid -> \tm w ->
let tpos = fromMaybe 0 $ w ^? cWorld . lWorld . buttons . ix (_tmButtonID tm) . btPos
in soundStart TerminalSound tpos sid Nothing w
TmWdWdTermSound sid -> \tm w -> fromMaybe w $ do
tpos <- w ^? cWorld . lWorld . buttons . ix (_tmButtonID tm) . btPos
return $ soundStart TerminalSound tpos sid Nothing w
TmWdWdDoDeathTriggers -> doDeathTriggers
TmWdWdfromWdWd f -> \_ -> doWdWd f
+144 -145
View File
@@ -2597,7 +2597,7 @@ addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
addIndefiniteArticle src/StringHelp.hs 17;" f
addNodes src/Dodge/Path.hs 115;" f
addPane src/Dodge/Placement/PlaceSpot.hs 173;" f
addPane src/Dodge/Placement/PlaceSpot.hs 179;" f
addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f
addPointPolygon src/Geometry/Polygon.hs 102;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
@@ -2633,7 +2633,7 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 145;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f
anRoom src/Dodge/Floor.hs 130;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 10;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 93;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 92;" f
analyserByNthLink src/Dodge/Room/LasTurret.hs 78;" f
andOrRegex src/Dodge/DisplayInventory.hs 80;" f
angleBetween src/Geometry.hs 161;" f
@@ -2652,11 +2652,11 @@ applyMagnetsToBul src/Dodge/Bullet.hs 31;" f
applyPastDamages src/Dodge/Creature/State.hs 48;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 451;" f
applyRecoil src/Dodge/HeldUse.hs 450;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 551;" f
applySoundCME src/Dodge/HeldUse.hs 441;" f
applySidePush src/Dodge/HeldUse.hs 550;" f
applySoundCME src/Dodge/HeldUse.hs 440;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -2664,7 +2664,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 562;" f
applyTorqueCME src/Dodge/HeldUse.hs 561;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -2710,7 +2710,7 @@ axisInt src/Geometry/Intersect.hs 257;" f
azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
backPQ src/Dodge/Creature/HandPos.hs 138;" f
backPQ src/Dodge/Creature/HandPos.hs 127;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 200;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
@@ -2722,7 +2722,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 68;" f
barrelShape src/Dodge/Render/ShapePicture.hs 69;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 158;" f
@@ -2744,7 +2744,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 703;" f
basicMuzFlare src/Dodge/HeldUse.hs 701;" f
battery src/Dodge/Item/Ammo.hs 63;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 86;" f
@@ -2752,7 +2752,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
bgunSound src/Dodge/HeldUse.hs 506;" f
bgunSound src/Dodge/HeldUse.hs 505;" f
bindFBO src/Render.hs 245;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
@@ -2805,7 +2805,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 67;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 128;" f
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
btText src/Dodge/Inventory/SelectionList.hs 237;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2869,7 +2869,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 75;" f
chestPQ src/Dodge/Creature/HandPos.hs 135;" f
chestPQ src/Dodge/Creature/HandPos.hs 124;" f
chooseCursorBorders src/Dodge/Render/List.hs 156;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 34;" f
@@ -3010,10 +3010,10 @@ crHasTargetLOS src/Dodge/Creature/Test.hs 67;" f
crHit src/Dodge/WorldEvent/ThingsHit.hs 86;" f
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
crInAimStance src/Dodge/Creature/Test.hs 93;" f
crInAimStance src/Dodge/Creature/Test.hs 90;" f
crIntelligence src/Dodge/Creature/Statistics.hs 37;" f
crIsAiming src/Dodge/Creature/Test.hs 59;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 108;" f
crIsArmouredFrom src/Dodge/Creature/Test.hs 105;" f
crMass src/Dodge/Creature/Mass.hs 5;" f
crMaterial src/Dodge/Creature/Material.hs 8;" f
crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f
@@ -3021,7 +3021,7 @@ crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 28;" f
crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f
crMvForward src/Dodge/Creature/Impulse/Movement.hs 42;" f
crMvType src/Dodge/Creature/MoveType.hs 6;" f
crNearPoint src/Dodge/Creature/Test.hs 130;" f
crNearPoint src/Dodge/Creature/Test.hs 127;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
@@ -3041,23 +3041,23 @@ crZoneSize src/Dodge/Zoning/Creature.hs 41;" f
craftInfo src/Dodge/Item/Info.hs 169;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 56;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 185;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 191;" f
createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 55;" f
createItemYou src/Dodge/Inventory/Add.hs 61;" f
createItemYou src/Dodge/Inventory/Add.hs 60;" f
createLightMap src/Render.hs 26;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1313;" f
createProjectileR src/Dodge/HeldUse.hs 1262;" f
createProjectile src/Dodge/HeldUse.hs 1312;" f
createProjectileR src/Dodge/HeldUse.hs 1261;" f
createShell src/Dodge/Projectile/Create.hs 21;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 816;" f
creatureShootPulseBall src/Dodge/HeldUse.hs 893;" f
creatureShootPulseLaser src/Dodge/HeldUse.hs 860;" f
creatureShootLaser src/Dodge/HeldUse.hs 810;" f
creatureShootPulseBall src/Dodge/HeldUse.hs 887;" f
creatureShootPulseLaser src/Dodge/HeldUse.hs 854;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 53;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 74;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 63;" f
@@ -3075,7 +3075,7 @@ crsNearRect src/Dodge/Zoning/Creature.hs 38;" f
crsNearSeg src/Dodge/Zoning/Creature.hs 23;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
cubeShape src/Dodge/Block/Debris.hs 103;" f
cullPoint src/Dodge/Render/ShapePicture.hs 90;" f
cullPoint src/Dodge/Render/ShapePicture.hs 91;" f
cullPretty src/AesonHelp.hs 14;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
@@ -3230,7 +3230,7 @@ detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 465;" f
detectorInfo src/Dodge/Item/Info.hs 225;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1233;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1232;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 208;" f
@@ -3262,7 +3262,7 @@ doAfterPlacements src/Dodge/Layout.hs 83;" f
doAimTwist src/Dodge/Creature/YourControl.hs 153;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 140;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 214;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 212;" f
doBlBl src/Dodge/BlBl.hs 5;" f
doBlSh src/Dodge/Block/Draw.hs 14;" f
doBounce src/Dodge/Base/Collide.hs 66;" f
@@ -3292,7 +3292,7 @@ doDrag src/Dodge/Update/Input/InGame.hs 126;" f
doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1189;" f
doGenFloat src/Dodge/HeldUse.hs 1188;" f
doGravityPU src/Dodge/Projectile/Update.hs 36;" f
doHeldUseEffect src/Dodge/HeldUse.hs 343;" f
doInPlacements src/Dodge/Layout.hs 92;" f
@@ -3366,9 +3366,9 @@ drawBoundingBox src/Dodge/Debug/Picture.hs 336;" f
drawBullet src/Dodge/Bullet/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawChasm src/Dodge/Render/ShapePicture.hs 44;" f
drawChasm src/Dodge/Render/ShapePicture.hs 45;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 116;" f
drawCliff src/Dodge/Render/ShapePicture.hs 47;" f
drawCliff src/Dodge/Render/ShapePicture.hs 48;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombFilter src/Dodge/Render/Picture.hs 268;" f
drawCombineInventory src/Dodge/Render/HUD.hs 178;" f
@@ -3376,7 +3376,7 @@ drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f
drawCoord src/Dodge/Debug/Picture.hs 364;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 385;" f
drawCreature src/Dodge/Render/ShapePicture.hs 61;" f
drawCreature src/Dodge/Render/ShapePicture.hs 62;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 197;" f
drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f
@@ -3440,7 +3440,7 @@ drawPlus src/Dodge/Render/Picture.hs 160;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 26;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 53;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 54;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 133;" f
drawRBOptions src/Dodge/Render/HUD.hs 247;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
@@ -3486,7 +3486,7 @@ drawZoneCol src/Dodge/Debug/Picture.hs 147;" f
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f
dropAll src/Dodge/Creature/Update.hs 119;" f
dropExcept src/Dodge/Creature/Action.hs 167;" f
dropInventoryPath src/Dodge/HeldUse.hs 1409;" f
dropInventoryPath src/Dodge/HeldUse.hs 1400;" f
dropItem src/Dodge/Creature/Action.hs 174;" f
dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 34;" f
@@ -3516,8 +3516,8 @@ ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 436;" f
effectOnEquip src/Dodge/Equipment.hs 30;" f
effectOnRemove src/Dodge/Equipment.hs 17;" f
effectOnEquip src/Dodge/Equipment.hs 31;" f
effectOnRemove src/Dodge/Equipment.hs 18;" f
eitType src/Dodge/Data/EquipType.hs 15;" f
ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 656;" f
elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 508;" f
@@ -3538,13 +3538,13 @@ eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
equipAllocString src/Dodge/Render/HUD.hs 306;" f
equipAttachPos src/Dodge/Item/Draw.hs 32;" f
equipAttachPos src/Dodge/Item/Draw.hs 29;" f
equipBackgroundEffect src/Dodge/Euse.hs 15;" f
equipInfo src/Dodge/Item/Info.hs 141;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 171;" f
equipPosition src/Dodge/Item/Draw.hs 40;" f
equipPosition src/Dodge/Item/Draw.hs 37;" f
equipSiteInfo src/Dodge/Item/Info.hs 254;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 25;" f
equipSitePQ src/Dodge/Creature/HandPos.hs 26;" f
equipType src/Dodge/Data/EquipType.hs 10;" f
equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f
equipmentStrValue src/Dodge/Creature/Statistics.hs 54;" f
@@ -3555,7 +3555,7 @@ errorHead src/ListHelp.hs 76;" f
errorIsLHS src/Geometry.hs 66;" f
errorNormalizeV src/Geometry.hs 55;" f
errorPointInPolygon src/Geometry.hs 47;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 154;" f
evaluateRandPS src/Dodge/Placement/PlaceSpot.hs 160;" f
evenOddSplit src/Dodge/Base.hs 160;" f
exitTerminalSubInv src/Dodge/WorldEffect.hs 108;" f
expandLine src/Dodge/Picture.hs 30;" f
@@ -3564,13 +3564,13 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 185;" f
explodeShell src/Dodge/Projectile/Update.hs 284;" f
explodeShell src/Dodge/Projectile/Update.hs 282;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 556;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 95;" f
extraPics src/Dodge/Render/ShapePicture.hs 96;" f
extraWeaponLinks src/Dodge/Item/Grammar.hs 90;" f
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 99;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f
@@ -3609,7 +3609,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 406;" f
flareCircleAt src/Dodge/HeldUse.hs 684;" f
flareCircleAt src/Dodge/HeldUse.hs 682;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -3629,7 +3629,7 @@ flockPointTargetR src/Dodge/Creature/Boid.hs 267;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 215;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 228;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 227;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 121;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 122;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
@@ -3675,7 +3675,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1146;" f
gasType src/Dodge/HeldUse.hs 1145;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 40;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -3688,27 +3688,27 @@ geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 141;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 104;" f
getAttachedSFLink src/Dodge/HeldUse.hs 758;" f
getAttachedSFLink src/Dodge/HeldUse.hs 756;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 85;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 170;" f
getBulletType src/Dodge/HeldUse.hs 933;" f
getBulletType src/Dodge/HeldUse.hs 927;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 531;" f
getCommand src/Dodge/Terminal.hs 58;" f
getCommands src/Dodge/Terminal.hs 55;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 48;" f
getDistortions src/Dodge/Render.hs 435;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1301;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1300;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 147;" f
getLaserColor src/Dodge/HeldUse.hs 700;" f
getLaserDamage src/Dodge/HeldUse.hs 697;" f
getLaserPhaseV src/Dodge/HeldUse.hs 694;" f
getLaserColor src/Dodge/HeldUse.hs 698;" f
getLaserDamage src/Dodge/HeldUse.hs 695;" f
getLaserPhaseV src/Dodge/HeldUse.hs 692;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 9;" f
getMenuMouseContext src/Dodge/Update.hs 397;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1288;" f
getPJStabiliser src/Dodge/HeldUse.hs 1287;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 6;" f
getRootItemBounds src/Dodge/Render/HUD.hs 96;" f
@@ -3790,10 +3790,10 @@ head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 455;" f
headMap src/Dodge/DoubleTree.hs 249;" f
headPQ src/Dodge/Creature/HandPos.hs 126;" f
headPQ src/Dodge/Creature/HandPos.hs 115;" f
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 75;" f
healthTest src/Dodge/Room/LasTurret.hs 96;" f
healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 24;" f
heldAimZoom src/Dodge/Update/Camera.hs 147;" f
@@ -3803,14 +3803,14 @@ heldHandlePos src/Dodge/Item/HeldOffset.hs 90;" f
heldInfo src/Dodge/Item/Info.hs 92;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 19;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 193;" f
heldItemInvLock src/Dodge/HeldUse.hs 434;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1030;" f
heldItemInvLock src/Dodge/HeldUse.hs 433;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1024;" f
heldItemMuzzles src/Dodge/HeldUse.hs 182;" f
heldItemRifling src/Dodge/HeldUse.hs 1073;" f
heldItemRifling src/Dodge/HeldUse.hs 1067;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 247;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 78;" f
heldPositionInfo src/Dodge/Item/Info.hs 241;" f
heldTorqueAmount src/Dodge/HeldUse.hs 578;" f
heldTorqueAmount src/Dodge/HeldUse.hs 577;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 27;" f
helpPara src/Dodge/Terminal.hs 113;" f
helpPoly3D src/Polyhedra.hs 125;" f
@@ -3921,8 +3921,8 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 56;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 710;" f
isAnimate src/Dodge/Creature/Test.hs 133;" f
isAmmoIntLink src/Dodge/HeldUse.hs 708;" f
isAnimate src/Dodge/Creature/Test.hs 130;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 76;" f
isElectrical src/Dodge/Machine/Update.hs 80;" f
@@ -3963,9 +3963,9 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 187;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 764;" f
itemDetectorEffect src/Dodge/HeldUse.hs 762;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 50;" f
itemEquipPict src/Dodge/Item/Draw.hs 19;" f
itemEquipPict src/Dodge/Item/Draw.hs 17;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 85;" f
itemFromAmmoMag src/Dodge/Item.hs 42;" f
itemFromAttachType src/Dodge/Item.hs 51;" f
@@ -3975,7 +3975,7 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 429;" f
itemInvLock src/Dodge/HeldUse.hs 428;" f
itemMuzzles src/Dodge/HeldUse.hs 161;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
@@ -4022,13 +4022,13 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 76;" f
lamp src/Dodge/Creature/Lamp.hs 21;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 73;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 115;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 74;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 114;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 424;" f
lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 526;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 108;" f
lasTunnel src/Dodge/Room/LasTurret.hs 127;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 168;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 107;" f
lasTunnel src/Dodge/Room/LasTurret.hs 126;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 167;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 40;" f
laser src/Dodge/Item/Held/BatteryGuns.hs 34;" f
lastMap src/Dodge/DoubleTree.hs 253;" f
@@ -4048,13 +4048,12 @@ ldtToIndentList src/Dodge/DoubleTree.hs 222;" f
ldtToLoc src/Dodge/DoubleTree.hs 268;" f
left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 185;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 71;" f
leftHandPQ src/Dodge/Creature/HandPos.hs 60;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 163;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 95;" f
leftLegPQ src/Dodge/Creature/HandPos.hs 84;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 92;" f
legsPQ src/Dodge/Creature/HandPos.hs 35;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
@@ -4069,7 +4068,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 57;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 58;" f
lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4088,7 +4087,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 390;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 622;" f
loadMuzzle src/Dodge/HeldUse.hs 621;" f
loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4138,7 +4137,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 954;" f
magAmmoParams src/Dodge/HeldUse.hs 948;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4153,7 +4152,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 34;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1011;" f
makeBullet src/Dodge/HeldUse.hs 1005;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4175,7 +4174,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 644;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 643;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4225,14 +4224,14 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f
mcPlaySound src/Dodge/Machine/Update.hs 105;" f
mcProxTest src/Dodge/Machine/Update.hs 153;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 131;" f
mcSPic src/Dodge/Render/ShapePicture.hs 133;" f
mcSPic src/Dodge/Render/ShapePicture.hs 134;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 94;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 126;" f
mcShootAuto src/Dodge/HeldUse.hs 1200;" f
mcShootLaser src/Dodge/HeldUse.hs 1193;" f
mcShootAuto src/Dodge/HeldUse.hs 1199;" f
mcShootLaser src/Dodge/HeldUse.hs 1192;" f
mcTriggerVal src/Dodge/Machine/Update.hs 100;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1116;" f
mcUseHeld src/Dodge/HeldUse.hs 1110;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f
megaBattery src/Dodge/Item/Ammo.hs 55;" f
megaShellMag src/Dodge/Item/Ammo.hs 44;" f
@@ -4303,11 +4302,11 @@ moveCombineSel src/Dodge/Update/Scroll.hs 119;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
movePenBullet src/Dodge/Bullet.hs 200;" f
moveProjectile src/Dodge/Projectile/Update.hs 262;" f
moveProjectile src/Dodge/Projectile/Update.hs 260;" f
moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 248;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 60;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 246;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 61;" f
moveWall src/Dodge/Wall/Move.hs 29;" f
moveWallID src/Dodge/Wall/Move.hs 24;" f
moveWallIDToward src/Dodge/Wall/Move.hs 47;" f
@@ -4322,19 +4321,19 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 57;" f
multiLookupTrieI src/SimpleTrie.hs 66;" f
muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 670;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 181;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 194;" f
muzFlareAt src/Dodge/HeldUse.hs 669;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 187;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 197;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 200;" f
mvGust src/Dodge/Update.hs 800;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 245;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 257;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 188;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 194;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 314;" f
mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 178;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 184;" f
mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 207;" f
myIntersectSegSeg src/Geometry/Intersect.hs 185;" f
@@ -4380,10 +4379,10 @@ numTraversable src/TreeHelp.hs 183;" f
obstacleColor src/Dodge/Debug/Picture.hs 262;" f
obstructPathsCrossing src/Dodge/Path.hs 138;" f
oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f
onEquipWristShield src/Dodge/Equipment.hs 35;" f
onRemoveWristShield src/Dodge/Equipment.hs 22;" f
onEquipWristShield src/Dodge/Equipment.hs 36;" f
onRemoveWristShield src/Dodge/Equipment.hs 23;" f
onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 96;" f
oneH src/Dodge/Creature/Test.hs 93;" f
openConsole src/Dodge/Update.hs 136;" f
optionMenu src/Dodge/Menu.hs 108;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 52;" f
@@ -4458,8 +4457,8 @@ pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f
pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f
picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 69;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 74;" f
pickUpItem src/Dodge/Inventory/Add.hs 68;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 73;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
pincerP src/Dodge/Creature/Boid.hs 61;" f
pincerP' src/Dodge/Creature/Boid.hs 94;" f
@@ -4469,30 +4468,30 @@ pingPongBetween src/Render.hs 221;" f
pipe src/Dodge/Item/Craftable.hs 32;" f
pistol src/Dodge/Item/Held/Stick.hs 40;" f
pistolerRoom src/Dodge/Room/Room.hs 321;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 227;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 225;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 197;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 220;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 203;" f
plMachine' src/Dodge/Placement/PlaceSpot.hs 232;" f
plNew src/Dodge/Base/NewID.hs 19;" f
plNewID src/Dodge/Base/NewID.hs 7;" f
plNewUpID src/Dodge/Base/NewID.hs 13;" f
plNewUsing src/Dodge/Base/NewID.hs 27;" f
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f
plTurret src/Dodge/Placement/PlaceSpot.hs 202;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 235;" f
placePickOne src/Dodge/Placement/PlaceSpot.hs 41;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 53;" f
placeRandomPlacement src/Dodge/Placement/PlaceSpot.hs 44;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 29;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 99;" f
placeSpotID' src/Dodge/Placement/PlaceSpot.hs 105;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 88;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 69;" f
plTurret src/Dodge/Placement/PlaceSpot.hs 209;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 247;" f
placePickOne src/Dodge/Placement/PlaceSpot.hs 43;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 55;" f
placeRandomPlacement src/Dodge/Placement/PlaceSpot.hs 46;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 31;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 101;" f
placeSpotID' src/Dodge/Placement/PlaceSpot.hs 107;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 90;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 71;" f
placeString src/Dodge/Render/MenuScreen.hs 61;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 167;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 173;" f
plainRegex src/Dodge/DisplayInventory.hs 194;" f
playIfFree src/Sound.hs 137;" f
playPositionalSoundQueue src/Sound.hs 145;" f
@@ -4595,7 +4594,7 @@ powlist src/Multiset.hs 61;" f
powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 118;" f
ppDraw src/Dodge/Render/ShapePicture.hs 119;" f
ppEvents src/Dodge/Update.hs 763;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 83;" f
@@ -4723,7 +4722,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 225;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 459;" f
recoilAmount src/Dodge/HeldUse.hs 458;" f
rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f
@@ -4753,7 +4752,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 158;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 922;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 916;" f
removeDot src/ShortShow.hs 40;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -4800,12 +4799,12 @@ rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 191;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 50;" f
rightHandPQ src/Dodge/Creature/HandPos.hs 39;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 174;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 111;" f
rightLegPQ src/Dodge/Creature/HandPos.hs 100;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 68;" f
rightWristPQ src/Dodge/Creature/HandPos.hs 57;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 409;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
@@ -4979,7 +4978,7 @@ setViewDistance src/Dodge/Update/Camera.hs 234;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 63;" f
setViewport src/Dodge/Render.hs 440;" f
setVol src/Dodge/Config/Update.hs 30;" f
setWristShieldPos src/Dodge/Equipment.hs 47;" f
setWristShieldPos src/Dodge/Equipment.hs 48;" f
setWristShieldPos src/Dodge/Euse.hs 35;" f
setupConLoop src/Loop.hs 102;" f
setupConLoop' src/Loop.hs 192;" f
@@ -5017,8 +5016,8 @@ shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 77;" f
shiftByV2 src/Dodge/PlacementSpot.hs 254;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 78;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 84;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 79;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 85;" f
shiftInBy src/Dodge/PlacementSpot.hs 251;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 305;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 350;" f
@@ -5037,16 +5036,16 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 200;" f
shineTorch src/Dodge/Creature/State.hs 237;" f
shootBullet src/Dodge/HeldUse.hs 996;" f
shootBullets src/Dodge/HeldUse.hs 986;" f
shootBullet src/Dodge/HeldUse.hs 990;" f
shootBullets src/Dodge/HeldUse.hs 980;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 34;" f
shootLaser src/Dodge/HeldUse.hs 839;" f
shootPulseBall src/Dodge/HeldUse.hs 907;" f
shootPulseLaser src/Dodge/HeldUse.hs 880;" f
shootLaser src/Dodge/HeldUse.hs 833;" f
shootPulseBall src/Dodge/HeldUse.hs 901;" f
shootPulseLaser src/Dodge/HeldUse.hs 874;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1216;" f
shootTeslaArc src/Dodge/HeldUse.hs 1215;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 19;" f
shootTractorBeam src/Dodge/HeldUse.hs 795;" f
shootTractorBeam src/Dodge/HeldUse.hs 789;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -5337,12 +5336,12 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 71;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 290;" f
torqueAmount src/Dodge/HeldUse.hs 573;" f
torqueAmount src/Dodge/HeldUse.hs 572;" f
torqueCr src/Dodge/WorldEffect.hs 71;" f
torso src/Dodge/Creature/Picture.hs 102;" f
tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
tractorBeamAt src/Dodge/HeldUse.hs 807;" f
tractorBeamAt src/Dodge/HeldUse.hs 801;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 449;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 32;" f
@@ -5355,8 +5354,8 @@ translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 46;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 63;" f
translateH src/Picture/Base.hs 112;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 86;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 39;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 36;" f
translateSH src/Shape.hs 245;" f
translateSHxy src/Shape.hs 249;" f
translateSHz src/Shape.hs 253;" f
@@ -5364,11 +5363,11 @@ translateSP src/ShapePicture.hs 53;" f
translateSPxy src/ShapePicture.hs 45;" f
translateSPz src/ShapePicture.hs 49;" f
translateScreenPos src/Dodge/ScreenPos.hs 12;" f
translateToES src/Dodge/Creature/HandPos.hs 22;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 89;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 108;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 65;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 123;" f
translateToES src/Dodge/Creature/HandPos.hs 23;" f
translateToLeftHand src/Dodge/Creature/HandPos.hs 78;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 97;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 54;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 112;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 24;" f
@@ -5398,8 +5397,8 @@ tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 22;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 38;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 144;" f
tryPlay src/Sound.hs 84;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 53;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 23;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 52;" f
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
trySpin src/Dodge/Projectile/Update.hs 170;" f
trySynthBullet src/Dodge/Creature/State.hs 166;" f
@@ -5417,8 +5416,8 @@ tutorialMessage1 src/Dodge/Room/Tutorial.hs 95;" f
tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 102;" f
twoFlat src/Dodge/Creature/Test.hs 99;" f
twists src/Dodge/Creature/Test.hs 99;" f
twoFlat src/Dodge/Creature/Test.hs 96;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 81;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 165;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 154;" f
@@ -5579,21 +5578,21 @@ upperPrismPolySU src/Shape.hs 114;" f
upperPrismPolyTS src/Shape.hs 120;" f
upperRounded src/Shape.hs 185;" f
useBulletPayload src/Dodge/Bullet.hs 114;" f
useGasParams src/Dodge/HeldUse.hs 1121;" f
useGasParams src/Dodge/HeldUse.hs 1115;" f
useHotkey src/Dodge/Creature/YourControl.hs 76;" f
useInventoryPath src/Dodge/HeldUse.hs 1440;" f
useInventoryPath src/Dodge/HeldUse.hs 1431;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 25;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 259;" f
useLoadedAmmo src/Dodge/HeldUse.hs 713;" f
useLoadedAmmo src/Dodge/HeldUse.hs 711;" f
useMagShield src/Dodge/Euse.hs 27;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1400;" f
useRewindGun src/Dodge/HeldUse.hs 1391;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 188;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 191;" f
useStopWatch src/Dodge/HeldUse.hs 1381;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1389;" f
useStopWatch src/Dodge/HeldUse.hs 1372;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1380;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 179;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 207;" f
usedRoomLinkPoss src/Dodge/PlacementSpot.hs 214;" f
@@ -5627,7 +5626,7 @@ visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 369;" f
walkNozzle src/Dodge/HeldUse.hs 779;" f
walkNozzle src/Dodge/HeldUse.hs 777;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -5636,7 +5635,7 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 172;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1434;" f
warmupSound src/Dodge/HeldUse.hs 1425;" f
warningRooms src/Dodge/Room/Warning.hs 26;" f
wasdAim src/Dodge/Creature/YourControl.hs 132;" f
wasdDir src/Dodge/WASD.hs 17;" f
@@ -5696,7 +5695,7 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f
wordsBy src/ListHelp.hs 116;" f
worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f
worldSPic src/Dodge/Render/ShapePicture.hs 21;" f
worldSPic src/Dodge/Render/ShapePicture.hs 22;" f
worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f
wpAdd src/Dodge/Room/RezBox.hs 148;" f
wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 546;" f