Cleanup, display more information for floor items

This commit is contained in:
2026-05-16 14:11:16 +01:00
parent ec969c924a
commit 16def12959
5 changed files with 57 additions and 101 deletions
-3
View File
@@ -29,9 +29,6 @@ data ItemLocation
= InInv
{ _ilCrID :: Int
, _ilInvID :: NewInt InvInt
-- , _ilIsRoot :: Bool -- of any item
-- , _ilIsSelected :: Bool
--- , _ilIsAttached :: Bool -- to selected item. question: downwards and upwards?
, _ilEquipSite :: Maybe EquipSite
}
| OnTurret {_ilTuID :: Int}
+3 -23
View File
@@ -4,12 +4,9 @@ module Dodge.Inventory.Location (
) where
import Control.Lens
import Data.Foldable
import qualified Data.IntSet as IS
import Data.Maybe
import Dodge.Base.You
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.Item.Use.Consumption.LoadAction
import Dodge.Data.World
import Dodge.Item.AimStance
@@ -28,28 +25,14 @@ tryGetRootAttachedFromInvID (NInt invid) im = do
t <- imroots ^? ix theroot . _2
return (theroot, foldMap (IS.singleton . (^?! itLocation . ilInvID . unNInt)) t)
-- the following assumes that the crManipulation is correct
crUpdateItemLocations :: World -> World
crUpdateItemLocations lw = fromMaybe lw $ do
mo <- lw ^? hud . manObject
cinv <- lw ^? cWorld . lWorld . creatures . ix 0 . crInv
let crinv = fmap (\k -> lw ^?! cWorld . lWorld . items . ix k) cinv
return $ crSetRoots $ IM.foldlWithKey' (crUpdateInvidLocations mo) lw $ _unNIntMap crinv
return $ IM.foldlWithKey' crUpdateInvidLocations lw $ _unNIntMap crinv
crSetRoots :: World -> World
crSetRoots w = fromMaybe w Nothing
-- $ do
-- inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
-- let cinv = invIMDT $ fmap (\i -> w ^?! cWorld . lWorld . items . ix i) inv
-- return $ foldl' f (foldl' g w inv) cinv
-- where
-- g w' i = w' & cWorld . lWorld . items . ix i . itLocation . ilIsRoot .~ False
-- f :: World -> DTree OItem -> World
-- f w' x =
-- w' & cWorld . lWorld . items . ix (x ^. dtValue . _1 . itID . unNInt) . itLocation . ilIsRoot .~ True
crUpdateInvidLocations :: ManipulatedObject -> World -> Int -> Item -> World
crUpdateInvidLocations mo w invid itm =
crUpdateInvidLocations :: World -> Int -> Item -> World
crUpdateInvidLocations w invid itm =
w
& cWorld . lWorld . creatures . ix 0 . crInv . ix (NInt invid) .~ itid
& cWorld . lWorld . items . ix itid .~ (itm & itLocation .~ newloc)
@@ -59,9 +42,6 @@ crUpdateInvidLocations mo w invid itm =
InInv
{ _ilCrID = 0
, _ilInvID = NInt invid
-- , _ilIsRoot = Just (NInt invid) == mo ^? hiRootSelectedItem
-- , _ilIsSelected = Just (Sel 0 invid) == w ^? hud . diSelection . _Just
-- , _ilIsAttached = invid `IS.member` (mo ^. hiAttachedItems)
, _ilEquipSite = w ^? cWorld . lWorld . items . ix itid . itLocation . ilEquipSite . _Just
}
+10 -13
View File
@@ -33,9 +33,9 @@ import Picture.Base
invSelectionItem :: World -> Int -> LocationDT OItem -> SelectionItem ()
invSelectionItem w indent loc =
SelItem
{ _siPictures = itemDisplay w cr ci
{ _siPictures = itemDisplay w (Just cr) $ ci ^. _1
, _siHeight = itInvHeight $ ci ^. _1
, _siWidth = maximum (15 : (length <$> itemDisplay w cr ci))
, _siWidth = maximum (15 : (length <$> itemDisplay w (Just cr) (ci^._1)))
, _siIsSelectable = True
, _siColor = itemInvColor ci
, _siOffX = indent
@@ -51,10 +51,9 @@ invSelectionItem w indent loc =
-- note the convoluted display of the hotkey/equipment, this was done to avoid a
-- space leak
itemDisplay :: World -> Creature -> CItem -> [String]
itemDisplay w cr ci = basicItemDisplay itm `g` anyextra
itemDisplay :: World -> Maybe Creature -> Item -> [String]
itemDisplay w mcr itm = basicItemDisplay itm `g` anyextra
where
itm = ci ^. _1
NInt itid = itm ^. itID
g (x:xs) (Just y) = (x <> y) : xs
g xs _ = xs
@@ -62,11 +61,11 @@ itemDisplay w cr ci = basicItemDisplay itm `g` anyextra
anyhotkey = fmap hotkeyToString
(w ^? cWorld . lWorld . imHotkeys . unNIntMap . ix itid)
anyequippos = do
_ <- ci ^? _1 . itType . ibtEquip
epText <$> ci ^? _1 . itLocation . ilEquipSite
anyscroll = fmap absurround $ itemScrollDisplay =<< (ci ^? _1)
_ <- itm ^? itType . ibtEquip
epText <$> itm ^? itLocation . ilEquipSite
anyscroll = fmap absurround $ itemScrollDisplay =<< Just itm
absurround str = " <" ++ str ++ ">"
anyexternal = fae <$> itemExternalValue itm w cr
anyexternal = fae <$> (itemExternalValue itm w =<< mcr)
-- will probably want to remote the !
fae (Left i) = " !"++shortShow i
fae (Right s) = " !" ++ s
@@ -221,7 +220,8 @@ hotkeyToChar = \case
closeItemToSelectionItem :: World -> Int -> Maybe (SelectionItem ())
closeItemToSelectionItem w i = do
e <- w ^? cWorld . lWorld . items . ix i
let (pics, col) = closeItemToTextPictures e
let pics = itemDisplay w Nothing e
col = itemInvColor (baseCI e)
return
SelItem
{ _siPictures = pics
@@ -260,6 +260,3 @@ btText bt = case _btEvent bt of
ButtonSwitch {} -> "SWITCH"
ButtonDumbSwitch {} -> "SWITCH" -- do we want to show switch status?
ButtonAccessTerminal i -> "TERMINAL " ++ show i
closeItemToTextPictures :: Item -> ([String], Color)
closeItemToTextPictures it = (basicItemDisplay it, itemInvColor $ baseCI it)
+2 -14
View File
@@ -600,24 +600,12 @@ getCloseObj w = getSelectedCloseObj w <|> topcitem <|> topcbut
tryCombine :: (Int, Int) -> World -> World
tryCombine (i, j) w = fromMaybe w $ do
CombItem is it <-
w
^? hud
. subInventory
. ciSections
. ix i
. ssItems
. ix j
. siPayload
. _Just
w ^? hud . subInventory . ciSections . ix i . ssItems . ix j . siPayload . _Just
p <- w ^? cWorld . lWorld . creatures . ix 0 . crPos . _xy
return $
createItemYou it (foldr (destroyInvItem 0 . NInt) w (sort is))
& soundStart InventorySound p wrench1S Nothing
& hud
. diSections
. ix 1
. ssSet
.~ mempty
& hud . diSections . ix 1 . ssSet .~ mempty
-- & hud . diSelection . _Just . slSet .~ mempty
+42 -48
View File
@@ -583,7 +583,7 @@ InLink src/Dodge/Data/Room.hs 49;" C
InParallelUniverse src/Dodge/Data/Scenario.hs 21;" C
InRealWorld src/Dodge/Data/Scenario.hs 18;" C
InSimulation src/Dodge/Data/Scenario.hs 20;" C
InVoid src/Dodge/Data/Item/Location.hs 39;" C
InVoid src/Dodge/Data/Item/Location.hs 36;" C
Inanimate src/Dodge/Data/ActionPlan.hs 15;" C
IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 11;" C
Inertial src/Dodge/Data/Damage.hs 28;" C
@@ -931,14 +931,14 @@ ObjectType src/Dodge/Data/ObjectType.hs 9;" t
OnBack src/Dodge/Data/Equipment/Misc.hs 22;" C
OnChest src/Dodge/Data/Equipment/Misc.hs 21;" C
OnEdge src/Dodge/Data/Room.hs 52;" C
OnFloor src/Dodge/Data/Item/Location.hs 38;" C
OnFloor src/Dodge/Data/Item/Location.hs 35;" C
OnGround src/Dodge/Data/Creature/Stance.hs 30;" C
OnHead src/Dodge/Data/Equipment/Misc.hs 20;" C
OnLeftLeg src/Dodge/Data/Equipment/Misc.hs 25;" C
OnLeftWrist src/Dodge/Data/Equipment/Misc.hs 23;" C
OnRightLeg src/Dodge/Data/Equipment/Misc.hs 26;" C
OnRightWrist src/Dodge/Data/Equipment/Misc.hs 24;" C
OnTurret src/Dodge/Data/Item/Location.hs 37;" C
OnTurret src/Dodge/Data/Item/Location.hs 34;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 14;" C
OneHand src/Dodge/Data/AimStance.hs 13;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 13;" C
@@ -1932,12 +1932,9 @@ _ibtIntroScanType src/Dodge/Data/Item/Combine.hs 32;" f
_ibtPathing src/Dodge/Data/Item/Combine.hs 28;" f
_ibtTargeting src/Dodge/Data/Item/Combine.hs 21;" f
_ilCrID src/Dodge/Data/Item/Location.hs 30;" f
_ilEquipSite src/Dodge/Data/Item/Location.hs 35;" f
_ilEquipSite src/Dodge/Data/Item/Location.hs 32;" f
_ilInvID src/Dodge/Data/Item/Location.hs 31;" f
_ilIsAttached src/Dodge/Data/Item/Location.hs 34;" f
_ilIsRoot src/Dodge/Data/Item/Location.hs 32;" f
_ilIsSelected src/Dodge/Data/Item/Location.hs 33;" f
_ilTuID src/Dodge/Data/Item/Location.hs 37;" f
_ilTuID src/Dodge/Data/Item/Location.hs 34;" f
_imHotkeys src/Dodge/Data/LWorld.hs 147;" f
_immediateEffect src/Loop/Data.hs 9;" f
_immediateUpdate src/Loop/Data.hs 12;" f
@@ -2600,7 +2597,7 @@ aShape src/Dodge/Placement/Instance/LightSource.hs 95;" f
aSound src/Dodge/SoundLogic.hs 74;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 64;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 77;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 69;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 75;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
@@ -2861,7 +2858,7 @@ calcTexCoord src/Tile.hs 19;" f
canSee src/Dodge/Base/Collide.hs 333;" f
canSeeIndirect src/Dodge/Base/Collide.hs 340;" f
canSpring src/Dodge/Update.hs 1007;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f
cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 26;" f
capacitor src/Dodge/Item/Ammo.hs 67;" f
card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f
cardList src/Dodge/Base/CardinalPoint.hs 7;" f
@@ -3018,10 +3015,10 @@ convexHull src/Geometry/Polygon.hs 150;" f
convexHullSafe src/Geometry/Polygon.hs 172;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
convexPolysOverlapWitness src/Geometry/ConvexPoly.hs 55;" f
coolMachinePistol src/Dodge/Creature/State.hs 130;" f
coolMinigun src/Dodge/Creature/State.hs 123;" f
coolMachinePistol src/Dodge/Creature/State.hs 135;" f
coolMinigun src/Dodge/Creature/State.hs 128;" f
copier src/Dodge/Item/Scope.hs 94;" f
copierItemUpdate src/Dodge/Creature/State.hs 159;" f
copierItemUpdate src/Dodge/Creature/State.hs 164;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 411;" f
cornerList src/Preload/Render.hs 236;" f
@@ -3067,19 +3064,18 @@ crNearPoint src/Dodge/Creature/Test.hs 125;" f
crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f
crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 249;" f
crOnSeg' src/Dodge/Creature/State/WalkCycle.hs 145;" f
crPainEffect src/Dodge/Creature/State.hs 50;" f
crPainEffect src/Dodge/Creature/State.hs 51;" f
crPathing src/Dodge/Creature/Action.hs 127;" f
crRad src/Dodge/Creature/Radius.hs 7;" f
crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f
crSetRoots src/Dodge/Inventory/Location.hs 39;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 1002;" f
crStratConMatches src/Dodge/Creature/Test.hs 77;" f
crStrength src/Dodge/Creature/Statistics.hs 30;" f
crUpdate src/Dodge/Creature/Update.hs 454;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 50;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 32;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 34;" f
crUpdateItemLocations src/Dodge/Inventory/Location.hs 28;" f
crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f
crWalk src/Dodge/Creature/Impulse/Movement.hs 32;" f
crWalkAbsolute src/Dodge/Creature/Impulse/Movement.hs 47;" f
@@ -3105,7 +3101,7 @@ createLightMap src/Render.hs 26;" f
createProjectile src/Dodge/HeldUse.hs 1305;" f
createProjectileR src/Dodge/HeldUse.hs 1254;" f
createShell src/Dodge/Projectile/Create.hs 21;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 53;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 69;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 130;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f
@@ -3330,7 +3326,7 @@ divideLineExact src/Geometry.hs 276;" f
divideLineOddNumPoints src/Geometry.hs 261;" f
dmType src/Dodge/Damage.hs 38;" f
doAimTwist src/Dodge/Creature/YourControl.hs 130;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 169;" f
doAnyEquipmentEffect src/Dodge/Creature/State.hs 174;" f
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBarrelSpin src/Dodge/Projectile/Update.hs 169;" f
doBlBl src/Dodge/BlBl.hs 5;" f
@@ -3341,7 +3337,7 @@ doConLoop' src/Loop.hs 230;" f
doCrBl src/Dodge/CreatureEffect.hs 30;" f
doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f
doCrImp src/Dodge/CreatureEffect.hs 13;" f
doDamage src/Dodge/Creature/State.hs 44;" f
doDamage src/Dodge/Creature/State.hs 45;" f
doDeathToggle src/Dodge/WorldEffect.hs 99;" f
doDeathTriggers src/Dodge/WorldEffect.hs 92;" f
doDebugGet src/Dodge/Debug.hs 160;" f
@@ -3409,7 +3405,7 @@ doublePair src/Geometry.hs 162;" f
doublePairSet src/Geometry.hs 166;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 28;" f
doubleV2 src/Geometry.hs 169;" f
drawARHUD src/Dodge/Creature/State.hs 221;" f
drawARHUD src/Dodge/Creature/State.hs 226;" f
drawAimSweep src/Dodge/Render/Picture.hs 302;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAnySelectionBox src/Dodge/Render/Picture.hs 136;" f
@@ -3884,7 +3880,7 @@ hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 660;" f
hitEffFromBul src/Dodge/Bullet.hs 158;" f
hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 812;" f
hiveCrit src/Dodge/Creature/ChaseCrit.hs 101;" f
hivePainEffect src/Dodge/Creature/State.hs 65;" f
hivePainEffect src/Dodge/Creature/State.hs 66;" 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
@@ -3896,7 +3892,7 @@ hoverCrit src/Dodge/Creature/ChaseCrit.hs 83;" f
hoverCritHoverSound src/Dodge/Creature/Update.hs 437;" f
hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 228;" f
hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f
hoverPainEffect src/Dodge/Creature/State.hs 57;" f
hoverPainEffect src/Dodge/Creature/State.hs 58;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 58;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
@@ -3971,8 +3967,8 @@ invDimColor src/Dodge/DisplayInventory.hs 191;" f
invHead src/Dodge/Render/HUD.hs 421;" f
invIMDT src/Dodge/Item/Grammar.hs 256;" f
invIndents src/Dodge/Item/Grammar.hs 263;" f
invItemEffs src/Dodge/Creature/State.hs 91;" f
invItemLocUpdate src/Dodge/Creature/State.hs 99;" f
invItemEffs src/Dodge/Creature/State.hs 92;" f
invItemLocUpdate src/Dodge/Creature/State.hs 100;" f
invRootMap src/Dodge/Item/Grammar.hs 237;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 33;" f
invSetSelection src/Dodge/Inventory.hs 269;" f
@@ -4021,8 +4017,8 @@ isWalkable src/Dodge/WorldEvent/ThingsHit.hs 243;" f
isoMatrix src/MatrixHelper.hs 35;" f
isotriBWH src/Geometry/Polygon.hs 30;" f
itDim src/Dodge/Item/InvSize.hs 21;" f
itEffectOnDrop src/Dodge/Item/BackgroundEffect.hs 81;" f
itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 78;" f
itEffectOnDrop src/Dodge/Item/BackgroundEffect.hs 97;" f
itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 94;" f
itInvHeight src/Dodge/Item/InvSize.hs 11;" f
itUseCondition src/Dodge/ItemUseCondition.hs 6;" f
itemAboveAttachables src/Dodge/Item/Grammar.hs 38;" f
@@ -4073,7 +4069,7 @@ itmEquipSiteInfo src/Dodge/Item/Info.hs 249;" f
itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 230;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 73;" f
jitterPain src/Dodge/Creature/State.hs 77;" f
jitterPain src/Dodge/Creature/State.hs 78;" f
joinItemsInList src/Dodge/Item/Grammar.hs 217;" f
joystick src/Dodge/Item/Scope.hs 158;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 61;" f
@@ -4457,7 +4453,6 @@ normalizeColor src/Color.hs 103;" f
normalizeV src/Geometry/Vector.hs 44;" f
normalizeV3 src/Geometry/Vector3D.hs 85;" f
notLink src/Dodge/Data/Room.hs 76;" f
note src/Dodge/Creature/Impulse/UseItem.hs 23;" f
nulgate src/Dodge/Item/Scope.hs 101;" f
numDrawableVertices src/Shader/Parameters.hs 34;" f
numGLuint src/Shader/Parameters.hs 29;" f
@@ -4832,7 +4827,7 @@ removeAmmoFromMag src/Dodge/HeldUse.hs 941;" f
removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Modify.hs 34;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 71;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 87;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 27;" f
renderFlatLighting src/Render.hs 102;" f
@@ -4908,8 +4903,8 @@ roomTileZeroShift src/Dodge/Layout.hs 73;" f
roomTwistCross src/Dodge/Room/Boss.hs 147;" f
roomsContaining src/Dodge/Room/Containing.hs 20;" f
roomsContaining' src/Dodge/Room/Containing.hs 25;" f
rootAndAttNotEff src/Dodge/Item/BackgroundEffect.hs 40;" f
rootNotrootEff src/Dodge/Item/BackgroundEffect.hs 29;" f
rootAndAttNotEff src/Dodge/Item/BackgroundEffect.hs 48;" f
rootNotrootEff src/Dodge/Item/BackgroundEffect.hs 32;" f
rose src/Color.hs 47;" f
rotD src/Padding.hs 44;" f
rotMatr src/MatrixHelper.hs 79;" f
@@ -5030,7 +5025,7 @@ setFallback src/Dodge/PlacementSpot.hs 127;" f
setInLinks src/Dodge/RoomLink.hs 52;" f
setInLinksByType src/Dodge/RoomLink.hs 73;" f
setInLinksPD src/Dodge/RoomLink.hs 93;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 67;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 48;" f
setLayer src/Picture/Base.hs 131;" f
setLinkType src/Dodge/RoomLink.hs 79;" f
setLinkTypePD src/Dodge/RoomLink.hs 86;" f
@@ -5041,7 +5036,7 @@ setOutLinks src/Dodge/RoomLink.hs 49;" f
setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 124;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 318;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 326;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 368;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f
setShaderSource src/Shader/Compile.hs 121;" f
@@ -5080,7 +5075,7 @@ shellHitWall src/Dodge/Projectile/Update.hs 60;" f
shellMag src/Dodge/Item/Ammo.hs 47;" f
shellModule src/Dodge/Item/Scope.hs 128;" f
shellShape src/Dodge/Projectile/Draw.hs 35;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 91;" f
shieldWall src/Dodge/Item/BackgroundEffect.hs 107;" f
shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftChildren src/Dodge/Tree/Compose.hs 45;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f
@@ -5102,8 +5097,8 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 74;" f
shiftSetDown src/Dodge/Inventory.hs 161;" f
shiftSetUp src/Dodge/Inventory.hs 155;" f
shiftTile src/Dodge/Room/Link.hs 49;" f
shineTargetLaser src/Dodge/Creature/State.hs 229;" f
shineTorch src/Dodge/Creature/State.hs 266;" f
shineTargetLaser src/Dodge/Creature/State.hs 234;" f
shineTorch src/Dodge/Creature/State.hs 271;" f
shootBullet src/Dodge/HeldUse.hs 1004;" f
shootBullets src/Dodge/HeldUse.hs 997;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
@@ -5447,10 +5442,10 @@ toV4 src/Geometry/Data.hs 60;" f
tocrs src/Dodge/TestString.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 316;" f
toggleCommands src/Dodge/Terminal.hs 86;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 82;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 120;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 74;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 112;" f
toggleJust src/MaybeHelp.hs 39;" f
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 125;" f
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 117;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 744;" f
tone440_30sS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f
tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 646;" f
@@ -5514,11 +5509,11 @@ trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 35;" f
tryClickUse src/Dodge/Creature/YourControl.hs 205;" f
tryCombine src/Dodge/Update/Input/InGame.hs 600;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 179;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 184;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 154;" f
tryEvadeSideways src/Dodge/Creature/Action.hs 104;" f
tryGetChannel src/Sound.hs 99;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 21;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 18;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 181;" f
tryPlay src/Sound.hs 85;" f
@@ -5526,9 +5521,9 @@ tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 65;" f
trySeedFromClipboard src/Dodge/Menu.hs 94;" f
trySpin src/Dodge/Projectile/Update.hs 120;" f
trySynthBullet src/Dodge/Creature/State.hs 195;" f
trySynthBullet src/Dodge/Creature/State.hs 200;" f
tryThrust src/Dodge/Projectile/Update.hs 126;" f
tryUseParent src/Dodge/Creature/State.hs 173;" f
tryUseParent src/Dodge/Creature/State.hs 178;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f
@@ -5635,7 +5630,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 87;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 459;" f
updateInt2Map src/Dodge/Zoning/Base.hs 94;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f
updateItemTargeting src/Dodge/Creature/State.hs 288;" f
updateItemTargeting src/Dodge/Creature/State.hs 293;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 419;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 453;" f
updateKeysInGame src/Dodge/Update/Input/InGame.hs 81;" f
@@ -5728,9 +5723,8 @@ useBulletPayload src/Dodge/Bullet.hs 117;" f
useGasParams src/Dodge/HeldUse.hs 1120;" f
useHotkey src/Dodge/Creature/YourControl.hs 57;" f
useInventoryPath src/Dodge/HeldUse.hs 1411;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItem' src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 40;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 22;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 29;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 262;" f
useLoadedAmmo src/Dodge/HeldUse.hs 741;" f
useMagShield src/Dodge/Euse.hs 33;" f