Tab scrolls through inventory sections

This commit is contained in:
2026-05-18 13:58:00 +01:00
parent d29c2dbd0c
commit 9fb5a4e0be
6 changed files with 158 additions and 151 deletions
-2
View File
@@ -13,7 +13,6 @@ module Dodge.Creature (
module Dodge.Creature.ReaderUpdate, module Dodge.Creature.ReaderUpdate,
module Dodge.Creature.State, module Dodge.Creature.State,
module Dodge.Creature.Test, module Dodge.Creature.Test,
module Dodge.Creature.Volition,
module Dodge.Creature.YourControl, module Dodge.Creature.YourControl,
) where ) where
@@ -35,7 +34,6 @@ import Dodge.Creature.ReaderUpdate
import Dodge.Creature.SpreadGunCrit import Dodge.Creature.SpreadGunCrit
import Dodge.Creature.State import Dodge.Creature.State
import Dodge.Creature.Test import Dodge.Creature.Test
import Dodge.Creature.Volition
import Dodge.Creature.YourControl import Dodge.Creature.YourControl
import Dodge.Data.Creature import Dodge.Data.Creature
import Dodge.Default import Dodge.Default
-38
View File
@@ -1,38 +0,0 @@
-- | Not a good name, perhaps: internal creature actions.
module Dodge.Creature.Volition (
holsterWeapon,
drawWeapon,
-- shootTillEmpty,
shootFirstMiss,
) where
import Dodge.Data.Creature
--import Dodge.Data.CreatureEffect
import Dodge.SoundLogic.LoadSound
import Geometry
holsterWeapon, drawWeapon :: Action
holsterWeapon = DoImpulses [ChangePosture AtEase, MakeSound whiteNoiseFadeOutS]
drawWeapon = DoImpulses [ChangePosture Aiming, MakeSound whiteNoiseFadeInS]
--shootTillEmpty :: Action
----shootTillEmpty = (crCanShoot `DoActionWhile` DoImpulses [UseItem])
--shootTillEmpty =
-- (WdCrBlfromCrBl CrCanShoot `DoActionWhile` DoImpulses [UseItem])
-- `DoActionThen` 20 `WaitThen` holsterWeapon
--advanceShoot :: Int -> Action
--advanceShoot tcid = lostest `DoActionWhile`
-- advanceShoot' `DoActionThen`
-- 75 `DoReplicate`
-- advanceShoot'
-- where
-- lostest (w,cr) = canSee (_crID cr) tcid w
-- advanceShoot' = ImpulsesList [[UseItem, MoveForward 3]]
shootFirstMiss :: Action
shootFirstMiss =
LeadTarget (V2 30 50)
`DoActionThen` DoImpulses [UseItem]
-- `DoActionThen` (WdCrBlfromCrBl CrCanShoot `DoActionWhile` DoActions [LeadTarget (V2 0 0), DoImpulses [UseItem]])
`DoActionThen` 20 `WaitThen` holsterWeapon
+4 -4
View File
@@ -23,7 +23,7 @@ import Picture
fixedCoordPictures :: Universe -> Picture fixedCoordPictures :: Universe -> Picture
fixedCoordPictures u = fixedCoordPictures u =
aimDelaySweep u aimDelaySweep u
<> drawMenuOrHUD cfig u <> drawMenuOrHUD u
<> drawConcurrentMessage u <> drawConcurrentMessage u
<> toTopLeft cfig (translate (hw - 100) 0 $ drawList (map text (_uvTestString u u))) <> toTopLeft cfig (translate (hw - 100) 0 $ drawList (map text (_uvTestString u u)))
<> toTopLeft cfig <> toTopLeft cfig
@@ -68,10 +68,10 @@ fpsText x = scale 0.2 0.2 . color col . text $ "ms/frame " ++ show x
| otherwise = red | otherwise = red
-- why config and universe here? -- why config and universe here?
drawMenuOrHUD :: Config -> Universe -> Picture drawMenuOrHUD :: Universe -> Picture
drawMenuOrHUD cf u = case u ^. uvScreenLayers of drawMenuOrHUD u = case u ^. uvScreenLayers of
[] -> drawHUD u [] -> drawHUD u
(x : _) -> drawMenuScreen (u ^? uvWorld . input . mouseContext . mcoMenuClick . _Just) x cf (x : _) -> drawMenuScreen (u ^? uvWorld . input . mouseContext . mcoMenuClick . _Just) x (u ^. uvConfig)
drawConcurrentMessage :: Universe -> Picture drawConcurrentMessage :: Universe -> Picture
drawConcurrentMessage u = drawConcurrentMessage u =
+19 -10
View File
@@ -13,6 +13,9 @@ module Dodge.SelectionSections (
ssLookupGE, ssLookupGE,
ssLookupLE, ssLookupLE,
sssSelectionSlice, sssSelectionSlice,
ssScrollUsing,
ssLookupSecGTLoop,
ssLookupSecLTLoop,
) where ) where
import Dodge.ListDisplayParams import Dodge.ListDisplayParams
@@ -91,24 +94,27 @@ ssLookupMaxInSection i sss = do
return (i, j, s) return (i, j, s)
ssLookupLT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupLT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupLT i j sss = fromMaybe (ssLookupLT' i sss) $ do ssLookupLT i j sss = fromMaybe (ssLookupSecLT i sss) $ do
ss <- sss ^? ix i ss <- sss ^? ix i
(j', si) <- IM.lookupLT j (ss ^. ssItems) (j', si) <- IM.lookupLT j (ss ^. ssItems)
return $ Just (i, j', si) return $ Just (i, j', si)
ssLookupLT' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupSecLTLoop :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupLT' i sss = do ssLookupSecLTLoop i sss = ssLookupSecLT i sss <|> ssLookupMax sss
ssLookupSecLT :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupSecLT i sss = do
(i', ss) <- IM.lookupLT i sss (i', ss) <- IM.lookupLT i sss
case IM.lookupMax (ss ^. ssItems) of case IM.lookupMax (ss ^. ssItems) of
Just (j', si) -> return (i', j', si) Just (j', si) -> return (i', j', si)
Nothing -> ssLookupLT' i' sss Nothing -> ssLookupSecLT i' sss
ssLookupLE' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupLE' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupLE' i sss = do ssLookupLE' i sss = do
(i', ss) <- IM.lookupLE i sss (i', ss) <- IM.lookupLE i sss
case IM.lookupMax (ss ^. ssItems) of case IM.lookupMax (ss ^. ssItems) of
Just (j', si) -> return (i', j', si) Just (j', si) -> return (i', j', si)
Nothing -> ssLookupLT' i' sss Nothing -> ssLookupSecLT i' sss
ssLookupMin :: IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupMin :: IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupMin sss = do ssLookupMin sss = do
@@ -116,17 +122,20 @@ ssLookupMin sss = do
ssLookupGE' i sss ssLookupGE' i sss
ssLookupGT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupGT :: Int -> Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupGT i j sss = fromMaybe (ssLookupGT' i sss) $ do ssLookupGT i j sss = fromMaybe (ssLookupSecGT i sss) $ do
ss <- sss ^? ix i ss <- sss ^? ix i
(j', si) <- IM.lookupGT j (ss ^. ssItems) (j', si) <- IM.lookupGT j (ss ^. ssItems)
return $ Just (i, j', si) return $ Just (i, j', si)
ssLookupGT' :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a) ssLookupSecGT :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupGT' i sss = do ssLookupSecGT i sss = do
(i', ss) <- IM.lookupGT i sss (i', ss) <- IM.lookupGT i sss
case IM.lookupMin (ss ^. ssItems) of case IM.lookupMin (ss ^. ssItems) of
Just (j', si) -> return (i', j', si) Just (j', si) -> return (i', j', si)
Nothing -> ssLookupGT' i' sss Nothing -> ssLookupSecGT i' sss
ssLookupSecGTLoop :: Int -> IMSS a -> Maybe (Int, Int, SelectionItem a)
ssLookupSecGTLoop i sss = ssLookupSecGT i sss <|> ssLookupMin sss
ssLookupGE :: XInfinity (Int,Int) -> IMSS a -> Maybe (Int,Int,SelectionItem a) ssLookupGE :: XInfinity (Int,Int) -> IMSS a -> Maybe (Int,Int,SelectionItem a)
ssLookupGE x sss = case x of ssLookupGE x sss = case x of
@@ -149,7 +158,7 @@ ssLookupGE' i sss = do
(i', ss) <- IM.lookupGE i sss (i', ss) <- IM.lookupGE i sss
case IM.lookupMin (ss ^. ssItems) of case IM.lookupMin (ss ^. ssItems) of
Just (j', si) -> return (i', j', si) Just (j', si) -> return (i', j', si)
Nothing -> ssLookupGT' i' sss Nothing -> ssLookupSecGT i' sss
selSecSelSize :: Int -> Int -> IMSS a -> Maybe Int selSecSelSize :: Int -> Int -> IMSS a -> Maybe Int
selSecSelSize i j = (^? ix i . ssItems . ix j . siHeight) selSecSelSize i j = (^? ix i . ssItems . ix j . siHeight)
+39
View File
@@ -53,6 +53,8 @@ updateUseInputInGame u = updateFunctionKeys $ case u ^. uvWorld . hud . subInven
u u
& uvWorld . hud . subInventory %~ docombineregexinput sss msel & uvWorld . hud . subInventory %~ docombineregexinput sss msel
& uvWorld . worldEventFlags . at CombineInventoryChange ?~ () & uvWorld . worldEventFlags . at CombineInventoryChange ?~ ()
NoSubInventory | Just 0 <- u ^. uvWorld . input . pressedKeys . at ScancodeTab
-> tabSections u
_ | Just (-1) <- disel -> f diInvFilter diInvFilter (-1) _ | Just (-1) <- disel -> f diInvFilter diInvFilter (-1)
_ | Just 2 <- disel -> f diCloseFilter diCloseFilter 2 _ | Just 2 <- disel -> f diCloseFilter diCloseFilter 2
_ -> updateKeysInGame u _ -> updateKeysInGame u
@@ -444,8 +446,45 @@ updateInitialPressInGame uv = \case
-- the following should be put in a more sensible place -- the following should be put in a more sensible place
ScancodeSlash -> uv & uvWorld %~ updateEnterRegex ScancodeSlash -> uv & uvWorld %~ updateEnterRegex
ScancodeBackspace -> uv & uvWorld %~ updateBackspaceRegex ScancodeBackspace -> uv & uvWorld %~ updateBackspaceRegex
-- ScancodeTab | NoSubInventory <- uv ^. uvWorld . hud . subInventory
-- -> uv & uvWorld %~ tabSections
_ -> uv _ -> uv
tabSections :: Universe -> Universe
tabSections u = u
& uvWorld .hud . diInvFilter %~ (<|> Just "")
& uvWorld .hud . diCloseFilter %~ (<|> Just "")
& updateInventoryPositioning
& h
& f
& g
& updateInventoryPositioning
where
scroll
| ScancodeLShift `M.member` (u ^. uvWorld . input . pressedKeys)
|| ScancodeRShift `M.member` (u ^. uvWorld . input . pressedKeys)
= ssLookupSecLTLoop
| otherwise = ssLookupSecGTLoop
h u' = u' & uvWorld.hud . diSelection %~ ssScrollUsing (\i _ -> scroll i) (u' ^. uvWorld . hud . diSections)
f u' = fromMaybe u' $ do
i <- u' ^? uvWorld . hud . diSelection . _Just . slSec
guard $ Just "" == (u' ^. uvWorld . hud . diInvFilter) && (-1) /= i
return $ u' & uvWorld . hud . diInvFilter .~ Nothing
g u' = fromMaybe u' $ do
i <- u' ^? uvWorld . hud . diSelection . _Just . slSec
guard $ Just "" == (u' ^.uvWorld . hud . diCloseFilter) && (2) /= i
return $ u' & uvWorld . hud . diCloseFilter .~ Nothing
-- | Just (-1) <- ssec = w & scrollAugInvSel 1 & hud . diInvFilter %~ mclose
-- | Just 0 <- ssec = w & hud . diSelection ?~ Sel 2 0 & hud . diCloseFilter %~ (<|> Just "")
-- | Just 1 <- ssec = w & hud . diSelection ?~ Sel 2 0 & hud . diCloseFilter %~ (<|> Just "")
-- | Just 2 <- ssec = w & hud . diCloseFilter %~ mclose & scrollAugInvSel 1
-- | otherwise = w
-- where
-- mclose (Just "") = Nothing
-- mclose x = x
-- ssec = w ^? hud . diSelection . _Just . slSec
updateLongPressInGame :: Universe -> Scancode -> Universe updateLongPressInGame :: Universe -> Scancode -> Universe
updateLongPressInGame uv = \case updateLongPressInGame uv = \case
ScancodeF -> over uvWorld youDropItem uv ScancodeF -> over uvWorld youDropItem uv
+96 -97
View File
@@ -2606,7 +2606,7 @@ aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 64;" f accessTerminal src/Dodge/WorldEffect.hs 64;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 69;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 69;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 75;" f addArmour src/Dodge/Creature.hs 73;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f
@@ -2679,7 +2679,7 @@ applyCME src/Dodge/HeldUse.hs 397;" f
applyClip src/Dodge/Debug.hs 191;" f applyClip src/Dodge/Debug.hs 191;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" 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 42;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 18;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 18;" f
applyInvLock src/Dodge/HeldUse.hs 455;" f applyInvLock src/Dodge/HeldUse.hs 455;" f
applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f
@@ -2825,7 +2825,7 @@ 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 100;" f bouncePoint src/Dodge/Base/Collide.hs 100;" f
bounceSound src/Dodge/Projectile/Update.hs 74;" f bounceSound src/Dodge/Projectile/Update.hs 75;" f
boundPoints src/Bound.hs 9;" f boundPoints src/Bound.hs 9;" f
boundPointsRect src/Bound.hs 23;" f boundPointsRect src/Bound.hs 23;" f
boundedGrid src/Grid.hs 17;" f boundedGrid src/Grid.hs 17;" f
@@ -3016,7 +3016,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f
constructEdges src/Polyhedra.hs 31;" f constructEdges src/Polyhedra.hs 31;" f
constructEdgesList src/Polyhedra.hs 40;" f constructEdgesList src/Polyhedra.hs 40;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 402;" f continueTerminal src/Dodge/Update/Input/InGame.hs 404;" f
convexHull src/Geometry/Polygon.hs 150;" f convexHull src/Geometry/Polygon.hs 150;" f
convexHullSafe src/Geometry/Polygon.hs 172;" f convexHullSafe src/Geometry/Polygon.hs 172;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
@@ -3296,7 +3296,7 @@ destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 27;" f destroyMcType src/Dodge/Machine/Destroy.hs 27;" f
destroyMount src/Dodge/Wall/Damage.hs 167;" f destroyMount src/Dodge/Wall/Damage.hs 167;" f
destroyMounts src/Dodge/Wall/Damage.hs 164;" f destroyMounts src/Dodge/Wall/Damage.hs 164;" f
destroyProjectile src/Dodge/Projectile/Update.hs 122;" f destroyProjectile src/Dodge/Projectile/Update.hs 131;" f
detV src/Geometry/Vector.hs 102;" f detV src/Geometry/Vector.hs 102;" 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 436;" f detectorColor src/Dodge/Item/Draw/SPic.hs 436;" f
@@ -3333,7 +3333,7 @@ dmType src/Dodge/Damage.hs 38;" f
doAimTwist src/Dodge/Creature/YourControl.hs 130;" f doAimTwist src/Dodge/Creature/YourControl.hs 130;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 174;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 174;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 179;" f doBarrelSpin src/Dodge/Projectile/Update.hs 188;" f
doBlBl src/Dodge/BlBl.hs 5;" f doBlBl src/Dodge/BlBl.hs 5;" f
doBounce src/Dodge/Base/Collide.hs 81;" f doBounce src/Dodge/Base/Collide.hs 81;" f
doButtonEvent src/Dodge/Button/Event.hs 9;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f
@@ -3357,13 +3357,13 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
doDoorMount src/Dodge/Door.hs 32;" f doDoorMount src/Dodge/Door.hs 32;" f
doDrag src/Dodge/Update/Input/InGame.hs 119;" f doDrag src/Dodge/Update/Input/InGame.hs 121;" f
doDragSelect src/Dodge/Update/Input/InGame.hs 191;" f doDragSelect src/Dodge/Update/Input/InGame.hs 193;" 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 1186;" f doGenFloat src/Dodge/HeldUse.hs 1186;" f
doGravityPU src/Dodge/Projectile/Update.hs 35;" f doGravityPU src/Dodge/Projectile/Update.hs 36;" f
doHeldUseEffect src/Dodge/HeldUse.hs 379;" f doHeldUseEffect src/Dodge/HeldUse.hs 379;" f
doInPlacements src/Dodge/Layout.hs 106;" f doInPlacements src/Dodge/Layout.hs 106;" f
doIndividualPlacements src/Dodge/Layout.hs 118;" f doIndividualPlacements src/Dodge/Layout.hs 118;" f
@@ -3377,7 +3377,7 @@ doPreload appDodge/Main.hs 133;" f
doQuickload src/Dodge/Save.hs 83;" f doQuickload src/Dodge/Save.hs 83;" f
doQuicksave src/Dodge/Save.hs 77;" f doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 8;" f doRandImpulse src/Dodge/RandImpulse.hs 8;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 455;" f doRegexInput src/Dodge/Update/Input/InGame.hs 473;" f
doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomPlacements src/Dodge/Layout.hs 121;" f
doRoomShift src/Dodge/Room/Link.hs 34;" f doRoomShift src/Dodge/Room/Link.hs 34;" f
doScopeZoom src/Dodge/Update/Scroll.hs 90;" f doScopeZoom src/Dodge/Update/Scroll.hs 90;" f
@@ -3388,7 +3388,7 @@ doTabComplete src/Dodge/Terminal.hs 241;" f
doTestDrawing src/Dodge/Render.hs 40;" f doTestDrawing src/Dodge/Render.hs 40;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 142;" f doThrust src/Dodge/Projectile/Update.hs 151;" f
doTimeScroll src/Dodge/Update.hs 234;" f doTimeScroll src/Dodge/Update.hs 234;" f
doTmWdWd src/Dodge/WorldEffect.hs 102;" f doTmWdWd src/Dodge/WorldEffect.hs 102;" f
doWallRotate src/Dodge/Update/Camera.hs 232;" f doWallRotate src/Dodge/Update/Camera.hs 232;" f
@@ -3541,7 +3541,6 @@ drawWallSearchRays src/Dodge/Debug/Picture.hs 323;" f
drawWallsNearCursor src/Dodge/Debug/Picture.hs 233;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 233;" f
drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f
drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 223;" f
drawWeapon src/Dodge/Creature/Volition.hs 14;" f
drawWlIDs src/Dodge/Debug/Picture.hs 404;" f drawWlIDs src/Dodge/Debug/Picture.hs 404;" f
drawZone src/Dodge/Debug/Picture.hs 152;" f drawZone src/Dodge/Debug/Picture.hs 152;" f
drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f
@@ -3589,8 +3588,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f
encircleDistP src/Dodge/Creature/Boid.hs 24;" f encircleDistP src/Dodge/Creature/Boid.hs 24;" f
encircleP src/Dodge/Creature/Boid.hs 30;" f encircleP src/Dodge/Creature/Boid.hs 30;" f
endArcPos src/Dodge/Tesla.hs 87;" f endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 291;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 293;" f
endRegex src/Dodge/Update/Input/InGame.hs 285;" f endRegex src/Dodge/Update/Input/InGame.hs 287;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f
enterCombineInv src/Dodge/DisplayInventory.hs 322;" f enterCombineInv src/Dodge/DisplayInventory.hs 322;" f
enumOption src/Dodge/Menu/OptionType.hs 17;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f
@@ -3624,7 +3623,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f
expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
expireAndDamage src/Dodge/Bullet.hs 191;" f expireAndDamage src/Dodge/Bullet.hs 191;" f
explodeShell src/Dodge/Projectile/Update.hs 269;" f explodeShell src/Dodge/Projectile/Update.hs 278;" f
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f
explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f
@@ -3749,7 +3748,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 175;" f getBulHitDams src/Dodge/Bullet.hs 175;" f
getBulletType src/Dodge/HeldUse.hs 945;" f getBulletType src/Dodge/HeldUse.hs 945;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 544;" f getCloseObj src/Dodge/Update/Input/InGame.hs 562;" 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
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f
@@ -3887,7 +3886,6 @@ hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 812;" f
hiveCrit src/Dodge/Creature/ChaseCrit.hs 101;" f hiveCrit src/Dodge/Creature/ChaseCrit.hs 101;" f
hivePainEffect src/Dodge/Creature/State.hs 66;" f hivePainEffect src/Dodge/Creature/State.hs 66;" f
holdForm src/Dodge/Creature/Boid.hs 139;" f holdForm src/Dodge/Creature/Boid.hs 139;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
homingModule src/Dodge/Item/Scope.hs 50;" f homingModule src/Dodge/Item/Scope.hs 50;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 200;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 200;" f
@@ -3980,12 +3978,12 @@ invSetSelection src/Dodge/Inventory.hs 255;" f
invSetSelectionPos src/Dodge/Inventory.hs 264;" f invSetSelectionPos src/Dodge/Inventory.hs 264;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f
invSize src/Dodge/Inventory/CheckSlots.hs 33;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f
inventoryX src/Dodge/Creature.hs 103;" f inventoryX src/Dodge/Creature.hs 101;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 236;" f inverseSelNumPos src/Dodge/SelectionSections.hs 238;" f
inverseSelNumPosFixedWidth src/Dodge/SelectionSections.hs 240;" f inverseSelNumPosFixedWidth src/Dodge/SelectionSections.hs 242;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 176;" f inverseSelSecYint src/Dodge/SelectionSections.hs 178;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 189;" f inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 191;" f
inverseSelSecYintXPosCheckFixedWidth src/Dodge/SelectionSections.hs 208;" f inverseSelSecYintXPosCheckFixedWidth src/Dodge/SelectionSections.hs 210;" f
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 44;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 44;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f
invertIntMap src/IntMapHelp.hs 100;" f invertIntMap src/IntMapHelp.hs 100;" f
@@ -4191,7 +4189,7 @@ logMenu src/Dodge/Menu.hs 125;" f
logOptions src/Dodge/Menu.hs 140;" f logOptions src/Dodge/Menu.hs 140;" f
logistic src/Dodge/Base.hs 98;" f logistic src/Dodge/Base.hs 98;" f
longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f
longCrit src/Dodge/Creature.hs 61;" f longCrit src/Dodge/Creature.hs 59;" f
longRoom src/Dodge/Room/LongRoom.hs 22;" f longRoom src/Dodge/Room/LongRoom.hs 22;" f
longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f
longestCommonPrefix src/Dodge/Debug/Terminal.hs 145;" f longestCommonPrefix src/Dodge/Debug/Terminal.hs 145;" f
@@ -4289,7 +4287,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 566;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 584;" f
maybeOpenConsole src/Dodge/Update.hs 136;" f maybeOpenConsole src/Dodge/Update.hs 136;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 135;" f maybeTakeOne src/RandomHelp.hs 135;" f
@@ -4354,7 +4352,7 @@ minAndMax src/FoldableHelp.hs 109;" f
minCrIXOn src/Dodge/Zoning/Creature.hs 49;" f minCrIXOn src/Dodge/Zoning/Creature.hs 49;" f
minOn src/FoldableHelp.hs 35;" f minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f
miniGunCrit src/Dodge/Creature.hs 54;" f miniGunCrit src/Dodge/Creature.hs 52;" 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 376;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 376;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 368;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 368;" f
@@ -4385,19 +4383,19 @@ moPos src/Dodge/Data/MountedObject.hs 18;" f
modTo src/Geometry/Zone.hs 18;" f modTo src/Geometry/Zone.hs 18;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 70;" f
mouseCursorType src/Dodge/Render/Picture.hs 94;" f mouseCursorType src/Dodge/Render/Picture.hs 94;" f
mouseInvHeight src/Dodge/Update/Input/InGame.hs 202;" f mouseInvHeight src/Dodge/Update/Input/InGame.hs 204;" f
mouseInvPos src/Dodge/Update/Input/InGame.hs 210;" f mouseInvPos src/Dodge/Update/Input/InGame.hs 212;" f
mouseInvPosFixWidth src/Dodge/SelectionSections.hs 228;" f mouseInvPosFixWidth src/Dodge/SelectionSections.hs 230;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f
mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f
moveBullet src/Dodge/Bullet.hs 200;" f moveBullet src/Dodge/Bullet.hs 200;" f
moveCombineSel src/Dodge/Update/Scroll.hs 120;" f moveCombineSel src/Dodge/Update/Scroll.hs 120;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f
movePenBullet src/Dodge/Bullet.hs 206;" f movePenBullet src/Dodge/Bullet.hs 206;" f
moveProjectile src/Dodge/Projectile/Update.hs 250;" f moveProjectile src/Dodge/Projectile/Update.hs 259;" f
moveRoomBy src/Dodge/Room/Link.hs 57;" f moveRoomBy src/Dodge/Room/Link.hs 57;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 229;" f moveStuckGrenade src/Dodge/Projectile/Update.hs 238;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 106;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 106;" f
moveWall src/Dodge/Wall/Move.hs 23;" f moveWall src/Dodge/Wall/Move.hs 23;" f
moveWallID src/Dodge/Wall/Move.hs 18;" f moveWallID src/Dodge/Wall/Move.hs 18;" f
@@ -4407,7 +4405,7 @@ mtTopLabels src/Dodge/Tree/Compose.hs 51;" f
mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f
muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f
muin src/Dodge/RoomLink.hs 147;" f muin src/Dodge/RoomLink.hs 147;" f
multGunCrit src/Dodge/Creature.hs 68;" f multGunCrit src/Dodge/Creature.hs 66;" f
multiArrow src/Picture/Composite.hs 11;" f 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
@@ -4446,7 +4444,7 @@ newSounds src/Dodge/Creature/Perception.hs 175;" f
newSoundsToPlay src/Dodge/SoundSelection.hs 8;" f newSoundsToPlay src/Dodge/SoundSelection.hs 8;" f
newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f
nextArc src/Dodge/Tesla.hs 61;" f nextArc src/Dodge/Tesla.hs 61;" f
nextInSectionSS src/Dodge/SelectionSections.hs 37;" f nextInSectionSS src/Dodge/SelectionSections.hs 39;" f
nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f nextLayoutInt src/Dodge/Data/MetaTree.hs 44;" f
noPic src/ShapePicture.hs 25;" f noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f noShape src/ShapePicture.hs 29;" f
@@ -4534,7 +4532,7 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 693;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 536;" f pauseGame src/Dodge/Update/Input/InGame.hs 554;" f
pauseMenu src/Dodge/Menu.hs 57;" f pauseMenu src/Dodge/Menu.hs 57;" f
pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f pauseSound src/Dodge/SoundLogic.hs 42;" f
@@ -4562,7 +4560,7 @@ pincerP''' src/Dodge/Creature/Boid.hs 77;" f
pipe src/Dodge/Item/Craftable.hs 29;" f pipe src/Dodge/Item/Craftable.hs 29;" f
pistol src/Dodge/Item/Held/Stick.hs 18;" f pistol src/Dodge/Item/Held/Stick.hs 18;" f
pistolerRoom src/Dodge/Room/Room.hs 351;" f pistolerRoom src/Dodge/Room/Room.hs 351;" f
pjRemoteSetDirection src/Dodge/Projectile/Update.hs 207;" f pjRemoteSetDirection src/Dodge/Projectile/Update.hs 216;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 24;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 57;" f
@@ -4664,7 +4662,7 @@ pop3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 838;" f
popS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f popS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 590;" f
popScreen src/Dodge/Menu/PushPop.hs 6;" f popScreen src/Dodge/Menu/PushPop.hs 6;" f
posRms src/Dodge/Tree/Shift.hs 46;" f posRms src/Dodge/Tree/Shift.hs 46;" f
posSelSecYint src/Dodge/SelectionSections.hs 158;" f posSelSecYint src/Dodge/SelectionSections.hs 160;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 36;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 36;" f
postGenerationProcessing src/Dodge/LevelGen.hs 31;" f postGenerationProcessing src/Dodge/LevelGen.hs 31;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f
@@ -4985,7 +4983,7 @@ screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f
scrollAugInvSel src/Dodge/Inventory.hs 267;" f scrollAugInvSel src/Dodge/Inventory.hs 267;" f
scrollAugNextInSection src/Dodge/Inventory.hs 282;" f scrollAugNextInSection src/Dodge/Inventory.hs 282;" f
scrollRBOption src/Dodge/Update/Scroll.hs 140;" f scrollRBOption src/Dodge/Update/Scroll.hs 140;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 31;" f scrollSelectionSections src/Dodge/SelectionSections.hs 33;" f
scrollTimeBack src/Dodge/Update.hs 244;" f scrollTimeBack src/Dodge/Update.hs 244;" f
scrollTimeForward src/Dodge/Update.hs 261;" f scrollTimeForward src/Dodge/Update.hs 261;" f
seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f seagullBarkS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
@@ -5010,10 +5008,10 @@ selNumPosCardinal src/Dodge/Render/HUD.hs 493;" f
selSecDrawCursor src/Dodge/Render/List.hs 102;" f selSecDrawCursor src/Dodge/Render/List.hs 102;" f
selSecDrawCursorFixWidth src/Dodge/Render/List.hs 120;" f selSecDrawCursorFixWidth src/Dodge/Render/List.hs 120;" f
selSecSelCol src/Dodge/Render/HUD.hs 513;" f selSecSelCol src/Dodge/Render/HUD.hs 513;" f
selSecSelSize src/Dodge/SelectionSections.hs 154;" f selSecSelSize src/Dodge/SelectionSections.hs 156;" f
selSecYint src/Dodge/SelectionSections.hs 163;" f selSecYint src/Dodge/SelectionSections.hs 165;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f selectedItemScroll src/Dodge/Update/Scroll.hs 50;" f
selectionSet src/Dodge/Update/Input/InGame.hs 147;" f selectionSet src/Dodge/Update/Input/InGame.hs 149;" f
semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 68;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 68;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 77;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 77;" f
@@ -5046,9 +5044,9 @@ setOldPos src/Dodge/Update.hs 601;" f
setOutLinks src/Dodge/RoomLink.hs 49;" f 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
setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 106;" f setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 108;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 345;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f
setShaderSource src/Shader/Compile.hs 121;" f setShaderSource src/Shader/Compile.hs 121;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
@@ -5079,10 +5077,10 @@ 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 314;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 314;" f
shellExplosionCheck src/Dodge/Projectile/Update.hs 50;" f shellExplosionCheck src/Dodge/Projectile/Update.hs 51;" f
shellHitCreature src/Dodge/Projectile/Update.hs 90;" f shellHitCreature src/Dodge/Projectile/Update.hs 91;" f
shellHitFloor src/Dodge/Projectile/Update.hs 108;" f shellHitFloor src/Dodge/Projectile/Update.hs 117;" f
shellHitWall src/Dodge/Projectile/Update.hs 60;" f shellHitWall src/Dodge/Projectile/Update.hs 61;" f
shellMag src/Dodge/Item/Ammo.hs 47;" f shellMag src/Dodge/Item/Ammo.hs 47;" f
shellModule src/Dodge/Item/Scope.hs 128;" f shellModule src/Dodge/Item/Scope.hs 128;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f shellShape src/Dodge/Projectile/Draw.hs 35;" f
@@ -5091,7 +5089,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftChildren src/Dodge/Tree/Compose.hs 45;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f
shiftInBy src/Dodge/PlacementSpot.hs 254;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 312;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 314;" f
shiftInvItemsDown src/Dodge/Inventory.hs 155;" f shiftInvItemsDown src/Dodge/Inventory.hs 155;" f
shiftInvItemsUp src/Dodge/Inventory.hs 165;" f shiftInvItemsUp src/Dodge/Inventory.hs 165;" f
shiftLinkBy src/Dodge/Room/Link.hs 89;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f
@@ -5112,7 +5110,6 @@ shineTargetLaser src/Dodge/Creature/State.hs 234;" f
shineTorch src/Dodge/Creature/State.hs 271;" f shineTorch src/Dodge/Creature/State.hs 271;" f
shootBullet src/Dodge/HeldUse.hs 1004;" f shootBullet src/Dodge/HeldUse.hs 1004;" f
shootBullets src/Dodge/HeldUse.hs 997;" f shootBullets src/Dodge/HeldUse.hs 997;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 870;" f shootLaser src/Dodge/HeldUse.hs 870;" f
shootPlasmaBall src/Dodge/HeldUse.hs 913;" f shootPlasmaBall src/Dodge/HeldUse.hs 913;" f
shootPulseBall src/Dodge/HeldUse.hs 926;" f shootPulseBall src/Dodge/HeldUse.hs 926;" f
@@ -5172,8 +5169,9 @@ slapClean7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 804;" f
slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
slideWindow src/ListHelp.hs 81;" f slideWindow src/ListHelp.hs 81;" f
slimeBulge src/Dodge/Projectile/Update.hs 110;" f
slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f
slimeEatSound src/Dodge/Projectile/Update.hs 84;" f slimeEatSound src/Dodge/Projectile/Update.hs 85;" f
slimeFood src/Dodge/Update.hs 1071;" f slimeFood src/Dodge/Update.hs 1071;" f
slimeOutline src/Dodge/Creature/Slime.hs 9;" f slimeOutline src/Dodge/Creature/Slime.hs 9;" f
slimeSuck src/Dodge/Update.hs 1055;" f slimeSuck src/Dodge/Update.hs 1055;" f
@@ -5225,7 +5223,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f
spPos src/ShapePicture/Data.hs 11;" f spPos src/ShapePicture/Data.hs 11;" f
spaceAction src/Dodge/Update/Input/InGame.hs 539;" f spaceAction src/Dodge/Update/Input/InGame.hs 557;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f
@@ -5236,7 +5234,7 @@ sparkDam src/Dodge/Spark.hs 37;" f
sparkRandDir src/Dodge/Spark.hs 117;" f sparkRandDir src/Dodge/Spark.hs 117;" f
sparkToDamage src/Dodge/Spark.hs 40;" f sparkToDamage src/Dodge/Spark.hs 40;" f
spawnAt src/Dodge/SpawnAt.hs 14;" f spawnAt src/Dodge/SpawnAt.hs 14;" f
spawnerCrit src/Dodge/Creature.hs 47;" f spawnerCrit src/Dodge/Creature.hs 45;" f
spawnerRoom src/Dodge/Room/Room.hs 390;" f spawnerRoom src/Dodge/Room/Room.hs 390;" f
speedLegs src/Dodge/Item/Equipment.hs 74;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f
spiderJoint src/Dodge/Creature/Picture.hs 278;" f spiderJoint src/Dodge/Creature/Picture.hs 278;" f
@@ -5263,42 +5261,42 @@ square src/Geometry/Polygon.hs 56;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f
squashNormalizeV src/Geometry/Vector.hs 166;" f squashNormalizeV src/Geometry/Vector.hs 166;" f
ssLookupDown src/Dodge/SelectionSections.hs 77;" f ssLookupDown src/Dodge/SelectionSections.hs 79;" f
ssLookupGE src/Dodge/SelectionSections.hs 131;" f ssLookupGE src/Dodge/SelectionSections.hs 133;" f
ssLookupGE' src/Dodge/SelectionSections.hs 147;" f ssLookupGE' src/Dodge/SelectionSections.hs 149;" f
ssLookupGT src/Dodge/SelectionSections.hs 118;" f ssLookupGT src/Dodge/SelectionSections.hs 120;" f
ssLookupGT' src/Dodge/SelectionSections.hs 124;" f ssLookupGT' src/Dodge/SelectionSections.hs 126;" f
ssLookupLE src/Dodge/SelectionSections.hs 139;" f ssLookupLE src/Dodge/SelectionSections.hs 141;" f
ssLookupLE' src/Dodge/SelectionSections.hs 106;" f ssLookupLE' src/Dodge/SelectionSections.hs 108;" f
ssLookupLT src/Dodge/SelectionSections.hs 93;" f ssLookupLT src/Dodge/SelectionSections.hs 95;" f
ssLookupLT' src/Dodge/SelectionSections.hs 99;" f ssLookupLT' src/Dodge/SelectionSections.hs 101;" f
ssLookupMax src/Dodge/SelectionSections.hs 67;" f ssLookupMax src/Dodge/SelectionSections.hs 69;" f
ssLookupMaxInSection src/Dodge/SelectionSections.hs 87;" f ssLookupMaxInSection src/Dodge/SelectionSections.hs 89;" f
ssLookupMin src/Dodge/SelectionSections.hs 113;" f ssLookupMin src/Dodge/SelectionSections.hs 115;" f
ssLookupNextMax src/Dodge/SelectionSections.hs 82;" f ssLookupNextMax src/Dodge/SelectionSections.hs 84;" f
ssLookupUp src/Dodge/SelectionSections.hs 72;" f ssLookupUp src/Dodge/SelectionSections.hs 74;" f
ssScrollMinOnFail src/Dodge/SelectionSections.hs 47;" f ssScrollMinOnFail src/Dodge/SelectionSections.hs 49;" f
ssScrollUsing src/Dodge/SelectionSections.hs 40;" f ssScrollUsing src/Dodge/SelectionSections.hs 42;" f
ssSetCursor src/Dodge/SelectionSections.hs 58;" f ssSetCursor src/Dodge/SelectionSections.hs 60;" f
ssfold src/FoldableHelp.hs 105;" f ssfold src/FoldableHelp.hs 105;" f
sssSelectionSlice src/Dodge/SelectionSections.hs 244;" f sssSelectionSlice src/Dodge/SelectionSections.hs 246;" f
stackPicturesAt src/Dodge/Render/List.hs 96;" f stackPicturesAt src/Dodge/Render/List.hs 96;" f
stackPicturesAtOff src/Dodge/Render/List.hs 99;" f stackPicturesAtOff src/Dodge/Render/List.hs 99;" f
stackText src/Picture/Base.hs 180;" f stackText src/Picture/Base.hs 180;" f
stackedInventory src/Dodge/Creature.hs 318;" f stackedInventory src/Dodge/Creature.hs 316;" f
startCr src/Dodge/Creature.hs 83;" f startCr src/Dodge/Creature.hs 81;" f
startCrafts src/Dodge/Room/Start.hs 94;" f startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 495;" f startDeathTimer src/Dodge/Creature/Update.hs 495;" f
startDrag src/Dodge/Update/Input/InGame.hs 300;" f startDrag src/Dodge/Update/Input/InGame.hs 302;" f
startInvList src/Dodge/Creature.hs 97;" f startInvList src/Dodge/Creature.hs 95;" f
startInventory src/Dodge/Creature.hs 100;" f startInventory src/Dodge/Creature.hs 98;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f
startPara src/Dodge/StartNewGame.hs 29;" f startPara src/Dodge/StartNewGame.hs 29;" f
startRoom src/Dodge/Room/Start.hs 53;" f startRoom src/Dodge/Room/Start.hs 53;" f
startSeedGame src/Dodge/StartNewGame.hs 21;" f startSeedGame src/Dodge/StartNewGame.hs 21;" f
startSeedGameConc src/Dodge/StartNewGame.hs 46;" f startSeedGameConc src/Dodge/StartNewGame.hs 46;" f
statsModifier src/Dodge/Creature/Info.hs 16;" f statsModifier src/Dodge/Creature/Info.hs 16;" f
stickHitSound src/Dodge/Projectile/Update.hs 77;" f stickHitSound src/Dodge/Projectile/Update.hs 78;" f
stickyMod src/Dodge/Item/Scope.hs 56;" f stickyMod src/Dodge/Item/Scope.hs 56;" f
stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f stone1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f
stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 826;" f stone2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 826;" f
@@ -5338,6 +5336,7 @@ t src/ShortShow.hs 48;" f
tEast src/Dodge/Room/Corridor.hs 96;" f tEast src/Dodge/Room/Corridor.hs 96;" f
tToBTree src/Dodge/Tree/Compose.hs 93;" f tToBTree src/Dodge/Tree/Compose.hs 93;" f
tWest src/Dodge/Room/Corridor.hs 121;" f tWest src/Dodge/Room/Corridor.hs 121;" f
tabSections src/Dodge/Update/Input/InGame.hs 453;" f
takeN src/RandomHelp.hs 63;" f takeN src/RandomHelp.hs 63;" f
takeNMore src/RandomHelp.hs 60;" f takeNMore src/RandomHelp.hs 60;" f
takeOne src/RandomHelp.hs 24;" f takeOne src/RandomHelp.hs 24;" f
@@ -5380,7 +5379,7 @@ teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 414;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 414;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" 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 299;" f testInventory src/Dodge/Creature.hs 297;" f
testPic src/Dodge/Render/ShapePicture.hs 57;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f
testSPic src/Dodge/Render/ShapePicture.hs 54;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f
testStringInit src/Dodge/TestString.hs 60;" f testStringInit src/Dodge/TestString.hs 60;" f
@@ -5519,21 +5518,21 @@ truncate src/Polyhedra/Geodesic.hs 39;" f
trunkDepth src/TreeHelp.hs 164;" f trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 35;" f tryAttachItems src/Dodge/Item/Grammar.hs 35;" f
tryClickUse src/Dodge/Creature/YourControl.hs 205;" f tryClickUse src/Dodge/Creature/YourControl.hs 205;" f
tryCombine src/Dodge/Update/Input/InGame.hs 556;" f tryCombine src/Dodge/Update/Input/InGame.hs 574;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 132;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 134;" f
tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f
tryGetChannel src/Sound.hs 99;" f tryGetChannel src/Sound.hs 99;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 18;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 18;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 154;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 156;" f
tryPlay src/Sound.hs 85;" f tryPlay src/Sound.hs 85;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 64;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 64;" f
trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f
trySpin src/Dodge/Projectile/Update.hs 130;" f trySpin src/Dodge/Projectile/Update.hs 139;" f
trySynthBullet src/Dodge/Creature/State.hs 200;" f trySynthBullet src/Dodge/Creature/State.hs 200;" f
tryThrust src/Dodge/Projectile/Update.hs 136;" f tryThrust src/Dodge/Projectile/Update.hs 145;" f
tryUseParent src/Dodge/Creature/State.hs 178;" f tryUseParent src/Dodge/Creature/State.hs 178;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
@@ -5579,7 +5578,7 @@ updateAggroBee src/Dodge/Creature/Update.hs 129;" f
updateAimPos src/Dodge/Update.hs 399;" f updateAimPos src/Dodge/Update.hs 399;" f
updateAllNodes src/TreeHelp.hs 88;" f updateAllNodes src/TreeHelp.hs 88;" f
updateArc src/Dodge/Tesla.hs 44;" f updateArc src/Dodge/Tesla.hs 44;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 484;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 502;" f
updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarrel src/Dodge/Barreloid.hs 43;" 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
@@ -5623,14 +5622,14 @@ updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 32;" f updateEnergyBall src/Dodge/EnergyBall.hs 32;" f
updateEnergyBalls src/Dodge/Update.hs 774;" f updateEnergyBalls src/Dodge/Update.hs 774;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 515;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 533;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFlame src/Dodge/Flame.hs 19;" f updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 771;" f updateFlames src/Dodge/Update.hs 771;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f
updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 363;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 365;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 359;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 361;" f
updateGas src/Dodge/Update.hs 941;" f updateGas src/Dodge/Update.hs 941;" f
updateGusts src/Dodge/Update.hs 903;" f updateGusts src/Dodge/Update.hs 903;" f
updateHiveCrit src/Dodge/Creature/Update.hs 82;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f
@@ -5638,37 +5637,37 @@ updateHoverCrit src/Dodge/Humanoid.hs 25;" f
updateIMl src/Dodge/Update.hs 638;" f updateIMl src/Dodge/Update.hs 638;" f
updateIMl' src/Dodge/Update.hs 641;" f updateIMl' src/Dodge/Update.hs 641;" f
updateInGameCamera src/Dodge/Update/Camera.hs 87;" f updateInGameCamera src/Dodge/Update/Camera.hs 87;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 436;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 438;" f
updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f
updateItemTargeting src/Dodge/Creature/State.hs 293;" f updateItemTargeting src/Dodge/Creature/State.hs 293;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 396;" f updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 398;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 430;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 432;" f
updateKeysInGame src/Dodge/Update/Input/InGame.hs 80;" f updateKeysInGame src/Dodge/Update/Input/InGame.hs 82;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 384;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 405;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 407;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 516;" f updateLasers src/Dodge/Update.hs 516;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 61;" f updateLivingCreature src/Dodge/Creature/Update.hs 61;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 449;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 467;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 407;" f updateMagnets src/Dodge/Update.hs 407;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 217;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 219;" f
updateMouseContext src/Dodge/Update.hs 420;" f updateMouseContext src/Dodge/Update.hs 420;" f
updateMouseContextGame src/Dodge/Update.hs 425;" f updateMouseContextGame src/Dodge/Update.hs 425;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 93;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 83;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 180;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 182;" f
updateObjCatMaybes src/Dodge/Update.hs 656;" f updateObjCatMaybes src/Dodge/Update.hs 656;" f
updateObjMapMaybe src/Dodge/Update.hs 649;" f updateObjMapMaybe src/Dodge/Update.hs 649;" f
updatePastWorlds src/Dodge/Update.hs 505;" f updatePastWorlds src/Dodge/Update.hs 505;" f
updatePlasmaBall src/Dodge/Update.hs 530;" f updatePlasmaBall src/Dodge/Update.hs 530;" f
updatePlasmaBalls src/Dodge/Update.hs 679;" f updatePlasmaBalls src/Dodge/Update.hs 679;" f
updatePreload src/Preload/Update.hs 21;" f updatePreload src/Preload/Update.hs 21;" f
updateProjectile src/Dodge/Projectile/Update.hs 26;" f updateProjectile src/Dodge/Projectile/Update.hs 27;" f
updatePulse src/Dodge/Creature/Update.hs 549;" f updatePulse src/Dodge/Creature/Update.hs 549;" f
updatePulseBall src/Dodge/Update.hs 550;" f updatePulseBall src/Dodge/Update.hs 550;" f
updatePulseLaser src/Dodge/Update.hs 726;" f updatePulseLaser src/Dodge/Update.hs 726;" f