From 16def12959b8936b19e3e043f5dd1a0900f80c9f Mon Sep 17 00:00:00 2001 From: justin Date: Sat, 16 May 2026 14:11:16 +0100 Subject: [PATCH] Cleanup, display more information for floor items --- src/Dodge/Data/Item/Location.hs | 3 - src/Dodge/Inventory/Location.hs | 26 +------- src/Dodge/Inventory/SelectionList.hs | 23 ++++--- src/Dodge/Update/Input/InGame.hs | 16 +---- tags | 90 +++++++++++++--------------- 5 files changed, 57 insertions(+), 101 deletions(-) diff --git a/src/Dodge/Data/Item/Location.hs b/src/Dodge/Data/Item/Location.hs index ebc52b3c0..e23154559 100644 --- a/src/Dodge/Data/Item/Location.hs +++ b/src/Dodge/Data/Item/Location.hs @@ -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} diff --git a/src/Dodge/Inventory/Location.hs b/src/Dodge/Inventory/Location.hs index 3bd020351..af483b728 100644 --- a/src/Dodge/Inventory/Location.hs +++ b/src/Dodge/Inventory/Location.hs @@ -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 } diff --git a/src/Dodge/Inventory/SelectionList.hs b/src/Dodge/Inventory/SelectionList.hs index 67e2e4d3b..1f0a22a61 100644 --- a/src/Dodge/Inventory/SelectionList.hs +++ b/src/Dodge/Inventory/SelectionList.hs @@ -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) diff --git a/src/Dodge/Update/Input/InGame.hs b/src/Dodge/Update/Input/InGame.hs index f38954dd9..2f44d392b 100644 --- a/src/Dodge/Update/Input/InGame.hs +++ b/src/Dodge/Update/Input/InGame.hs @@ -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 diff --git a/tags b/tags index 6885544b3..cf3b3f637 100644 --- a/tags +++ b/tags @@ -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