diff --git a/src/Dodge/Base/You.hs b/src/Dodge/Base/You.hs index 3e7455cb3..e9313eb85 100644 --- a/src/Dodge/Base/You.hs +++ b/src/Dodge/Base/You.hs @@ -27,14 +27,14 @@ yourSelectedItem w = do yourRootItem :: World -> Maybe Item yourRootItem w = do - i <- w ^? hud . manObject . imRootSelectedItem + i <- w ^? hud . manObject . hiRootSelectedItem --revise1 i <- you w ^? crManipulation . manObject . imRootSelectedItem j <- _crInv (you w) ^? ix i w ^? cWorld . lWorld . items . ix j yourRootItemDT :: World -> Maybe (DTree OItem) yourRootItemDT w = do - i <- w^?hud. manObject . imRootSelectedItem . unNInt + i <- w^?hud. manObject . hiRootSelectedItem . unNInt invIMDT ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> you w ^. crInv) ^? ix i yourInv :: World -> NewIntMap InvInt Item diff --git a/src/Dodge/Creature/HandPos.hs b/src/Dodge/Creature/HandPos.hs index f9854e069..faeadf9b3 100644 --- a/src/Dodge/Creature/HandPos.hs +++ b/src/Dodge/Creature/HandPos.hs @@ -66,10 +66,10 @@ rightHandPQ w cr | oneH w cr = (V3 11 (-3) 20, Q.qid) | twists w cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0, Q.qz 1) | twoFlat w cr = (V3 8 (-8) 12, Q.qid) - | Just TwoHandTwist <- w ^? hud . manObject . imAimStance + | Just TwoHandTwist <- w ^? hud . manObject . hiAimStance --revise1 | Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance = (V3 6 (-6) 10, Q.qid) - | Just TwoHandFlat <- w ^? hud . manObject . imAimStance + | Just TwoHandFlat <- w ^? hud . manObject . hiAimStance = (V3 (8 - twoHandOffY cr) (-8) 12, Q.qid) | Just p <- crRightHandWall cr = (20 & _xy .~ p, Q.qid) | otherwise = (handWalkingPos LeftForward (-8) cr, Q.qid) @@ -120,10 +120,10 @@ leftHandPQ :: World -> Creature -> Point3Q leftHandPQ w cr | twists w cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, Q.qz 0.4) | twoFlat w cr = (V3 8 8 12, Q.qid) - | Just TwoHandTwist <- w ^? hud . manObject . imAimStance + | Just TwoHandTwist <- w ^? hud . manObject . hiAimStance --revise1 | Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance = (V3 (10 + twoHandOffY cr) 6 20, Q.qid) - | Just TwoHandFlat <- w ^? hud . manObject . imAimStance + | Just TwoHandFlat <- w ^? hud . manObject . hiAimStance = (V3 (8 + twoHandOffY cr) 6 12, Q.qid) | Just p <- crLeftHandWall cr = (20 & _xy .~ p, Q.qid) | oneH w cr = (V3 0 8 10, Q.qz 0.4) diff --git a/src/Dodge/Creature/Statistics.hs b/src/Dodge/Creature/Statistics.hs index 41779a245..b0ab42fb2 100644 --- a/src/Dodge/Creature/Statistics.hs +++ b/src/Dodge/Creature/Statistics.hs @@ -73,7 +73,7 @@ crCurrentEquipment lw = fmap f . _crEquipment strFromHeldItem :: World -> Creature -> Int strFromHeldItem w cr = fromMaybe 0 $ do Aiming {} <- cr ^? crStance . posture - is <- w^?hud . manObject . imAttachedItems + is <- w^?hud . manObject . hiAttachedItems --revise1 is <- cr ^? crManipulation . manObject . imAttachedItems let js = IM.elems $ IM.restrictKeys (cr ^. crInv . unNIntMap) is return . negate . sum . fmap itemWeight $ IM.restrictKeys (w ^.cWorld.lWorld. items) $ IS.fromList js diff --git a/src/Dodge/Creature/Test.hs b/src/Dodge/Creature/Test.hs index f6d8a9226..2c5efdff8 100644 --- a/src/Dodge/Creature/Test.hs +++ b/src/Dodge/Creature/Test.hs @@ -86,7 +86,7 @@ crAwayFromPost cr = case _apGoal $ _crActionPlan cr of crInAimStance :: AimStance -> World -> Creature -> Bool crInAimStance as w cr = cr ^? crStance . posture == Just Aiming - && w ^? hud . manObject . imAimStance == Just as + && w ^? hud . manObject . hiAimStance == Just as --revise1 && cr ^? crManipulation . manObject . imAimStance == Just as oneH :: World -> Creature -> Bool diff --git a/src/Dodge/Creature/YourControl.hs b/src/Dodge/Creature/YourControl.hs index 75ea04d72..aa5e1d194 100644 --- a/src/Dodge/Creature/YourControl.hs +++ b/src/Dodge/Creature/YourControl.hs @@ -128,7 +128,7 @@ wasdAim inp w cr setposture x r = cr & crStance . posture .~ x - & doAimTwist (w ^? hud . manObject . imAimStance) r + & doAimTwist (w ^? hud . manObject . hiAimStance) r --revise1 & doAimTwist (cr ^? crManipulation . manObject . imAimStance) r mousedir = argV $ w ^. cWorld . lWorld . lAimPos - (cr ^. crPos . _xy) @@ -156,7 +156,7 @@ aimTurn :: World -> Float -> Creature -> Creature aimTurn lw a cr = creatureTurnTowardDir a (x * 0.2) cr where x = fromMaybe 1 $ do - itRef <- lw ^? hud . manObject . imRootSelectedItem + itRef <- lw ^? hud . manObject . hiRootSelectedItem --revise1 itRef <- cr ^? crManipulation . manObject . imRootSelectedItem fmap itemBulkiness $ cr ^? crInv . ix itRef >>= \k -> lw ^?cWorld.lWorld. items . ix k . itType diff --git a/src/Dodge/Data/Item/Use/Consumption/LoadAction.hs b/src/Dodge/Data/Item/Use/Consumption/LoadAction.hs index e5bef8895..e40ad3ad8 100644 --- a/src/Dodge/Data/Item/Use/Consumption/LoadAction.hs +++ b/src/Dodge/Data/Item/Use/Consumption/LoadAction.hs @@ -18,18 +18,24 @@ import Data.Aeson.TH -- deriving (Eq, Ord, Show, Read) --Generic, Flat) data ManipulatedObject - = SortInventory - | SelectedItem - { _imRootSelectedItem :: NewInt InvInt - , _imAimStance :: AimStance - , _imAttachedItems :: IS.IntSet -- this should probably be NewIntSet InvInt also + = HeldItem + { _hiRootSelectedItem :: NewInt InvInt + , _hiAimStance :: AimStance + , _hiAttachedItems :: IS.IntSet -- this should probably be NewIntSet InvInt also } - | SelNothing - | SortCloseItem - | SelCloseItem {_ispCloseItem :: Int} - | SortCloseButton - | SelCloseButton {_ispCloseButton :: Int} - deriving (Eq, Ord, Show, Read) --Generic, Flat) + | HandsFree +-- = SortInventory +-- | SelectedItem +-- { _imRootSelectedItem :: NewInt InvInt +-- , _imAimStance :: AimStance +-- , _imAttachedItems :: IS.IntSet -- this should probably be NewIntSet InvInt also +-- } +-- | SelNothing +-- | SortCloseItem +-- | SelCloseItem {_ispCloseItem :: Int} +-- | SortCloseButton +-- | SelCloseButton {_ispCloseButton :: Int} +-- deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''ManipulatedObject --makeLenses ''Manipulation diff --git a/src/Dodge/Debug.hs b/src/Dodge/Debug.hs index 0e3bb4e5b..1590270b5 100644 --- a/src/Dodge/Debug.hs +++ b/src/Dodge/Debug.hs @@ -320,7 +320,7 @@ drawCreatureRad cr = setLayer DebugLayer showMuzzlePositions :: Universe -> Picture showMuzzlePositions u = fold $ do cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0 - invid <- u ^?uvWorld.hud . manObject . imRootSelectedItem . unNInt + invid <- u ^?uvWorld.hud . manObject . hiRootSelectedItem . unNInt --revise1 invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt loc <- invIndents ((\k -> u ^?! uvWorld . cWorld . lWorld . items . ix k) <$> _crInv cr) ^? ix invid . _2 diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index f0d53faf8..6f8a7bc3b 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -182,5 +182,5 @@ defaultHUD = , _diCloseFilter = mempty , _closeItems = mempty , _closeButtons = mempty - , _manObject = SelNothing + , _manObject = HandsFree } diff --git a/src/Dodge/Inventory.hs b/src/Dodge/Inventory.hs index 8fff1b4bb..3215a3cbe 100644 --- a/src/Dodge/Inventory.hs +++ b/src/Dodge/Inventory.hs @@ -252,13 +252,14 @@ multiSelScroll' f w = fromMaybe w $ do & hud . diSelection . _Just . slInt .~ k changeSwapOther :: - ((Int -> Identity Int) -> ManipulatedObject -> Identity ManipulatedObject) -> +--revise3 ((Int -> Identity Int) -> ManipulatedObject -> Identity ManipulatedObject) -> Int -> (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> Int -> World -> World -changeSwapOther manlens n f i w = fromMaybe w $ do +--revise3 changeSwapOther manlens n f i w = fromMaybe w $ do +changeSwapOther n f i w = fromMaybe w $ do ss <- w ^? hud . diSections . ix n . ssItems k <- f i ss let doswap j @@ -268,7 +269,7 @@ changeSwapOther manlens n f i w = fromMaybe w $ do return $ w & swapAnyExtraSelection 3 i k - &hud. manObject . manlens %~ doswap +-- &hud. manObject . manlens %~ doswap --revise1 & cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . manlens %~ doswap & hud . closeItems %~ swapIndices i k & hud . diSelection . _Just . slInt %~ doswap @@ -281,8 +282,10 @@ swapItemWith :: World swapItemWith f (j, i) = case j of 0 -> swapInvItems f i - 3 -> changeSwapOther ispCloseItem 3 f i - 5 -> changeSwapOther ispCloseButton 5 f i + 3 -> changeSwapOther 3 f i + 5 -> changeSwapOther 5 f i +--revise3 3 -> changeSwapOther ispCloseItem 3 f i +--revise3 5 -> changeSwapOther ispCloseButton 5 f i _ -> id changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World diff --git a/src/Dodge/Inventory/Location.hs b/src/Dodge/Inventory/Location.hs index c7fce7921..a2b1b8bb5 100644 --- a/src/Dodge/Inventory/Location.hs +++ b/src/Dodge/Inventory/Location.hs @@ -44,7 +44,7 @@ updateRootItemID m cr w = fromMaybe w $ do Sel 0 i <- w^?hud.diSelection._Just --revise2 i <- w^?hud . manObject . imSelectedItem . unNInt let j = getRootItemInvID m i cr - return $ w & hud . manObject . imRootSelectedItem .~ NInt j + return $ w & hud . manObject . hiRootSelectedItem .~ NInt j -- the following assumes that the crManipulation is correct crUpdateItemLocations :: Int -> World -> World @@ -76,10 +76,10 @@ crUpdateInvidLocations mo crid lw invid itm = InInv { _ilCrID = crid , _ilInvID = NInt invid - , _ilIsRoot = Just (NInt invid) == mo ^? imRootSelectedItem + , _ilIsRoot = Just (NInt invid) == mo ^? hiRootSelectedItem , _ilIsSelected = Just (NInt invid) == lw ^? hud.diSelection._Just.slInt.to NInt -- this may match with the wrong sections, not sure if this is possible --revise1 , _ilIsSelected = Just (NInt i2vid) == mo ^? imSelectedItem - , _ilIsAttached = invid `IS.member` (mo ^. imAttachedItems) + , _ilIsAttached = invid `IS.member` (mo ^. hiAttachedItems) , _ilEquipSite = lw ^? cWorld .lWorld. items . ix itid . itLocation . ilEquipSite . _Just --revise1 , _ilEquipSite = lw ^? items . ix itid . itLocation . ilEquipSite . _Just } @@ -91,29 +91,26 @@ setInvPosFromSS :: World -> World setInvPosFromSS w = w &hud . manObject .~ thesel --revise1 & cWorld . lWorld . creatures . ix 0 . crManipulation . manObject .~ thesel where - thesel = fromMaybe SelNothing $ do + thesel = fromMaybe HandsFree $ do --Sel i j _ <- w ^? hud . diSelection . _Just - Sel i j <- w ^? hud . diSelection . _Just - case i of - (-1) -> Just SortInventory - 0 -> do - (rootid, aset) <- - tryGetRootAttachedFromInvID - (NInt j) - ( fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ - you w ^. crInv - ) - dt <- invIMDT ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> you w ^. crInv) ^? ix rootid - -- there is redundancy above - return - SelectedItem - { _imRootSelectedItem = NInt rootid - , _imAimStance = itemAimStance ((\(x,y,_) -> (x,y)) <$> dt) - , _imAttachedItems = aset - } - 1 -> Just SelNothing - 2 -> Just SortCloseItem - 3 -> Just $ SelCloseItem j - 4 -> Just SortCloseButton - 5 -> Just $ SelCloseButton j - _ -> error "selection out of bounds" + Sel 0 j <- w ^? hud . diSelection . _Just + (rootid, aset) <- + tryGetRootAttachedFromInvID + (NInt j) + ( fmap (\k -> w ^?! cWorld . lWorld . items . ix k) $ + you w ^. crInv + ) + dt <- invIMDT ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> you w ^. crInv) ^? ix rootid + -- there is redundancy above + return + HeldItem + { _hiRootSelectedItem = NInt rootid + , _hiAimStance = itemAimStance ((\(x,y,_) -> (x,y)) <$> dt) + , _hiAttachedItems = aset + } +-- 1 -> Just SelNothing +-- 2 -> Just SortCloseItem +-- 3 -> Just $ SelCloseItem j +-- 4 -> Just SortCloseButton +-- 5 -> Just $ SelCloseButton j +-- _ -> error "selection out of bounds" diff --git a/src/Dodge/Item/Draw.hs b/src/Dodge/Item/Draw.hs index 182690b0c..d64931556 100644 --- a/src/Dodge/Item/Draw.hs +++ b/src/Dodge/Item/Draw.hs @@ -20,7 +20,7 @@ itemEquipPict w cr itmtree | Just esite <- itm ^? itLocation . ilEquipSite . _Just , Just attachpos <- equipAttachPos <$> itm ^? itType . ibtEquip = equipPosition esite w cr attachpos (itemSPic itm) - | itm ^? itLocation . ilInvID == w ^? hud . manObject . imRootSelectedItem = + | itm ^? itLocation . ilInvID == w ^? hud . manObject . hiRootSelectedItem = --revise1 | itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem = overPosSP (Q.apply $ handHandleOrient w loc cr) (itemTreeSPic itmtree) | otherwise = mempty diff --git a/src/Dodge/Item/Location.hs b/src/Dodge/Item/Location.hs index 6c117abb6..d40ebc8ed 100644 --- a/src/Dodge/Item/Location.hs +++ b/src/Dodge/Item/Location.hs @@ -34,7 +34,7 @@ pointerYourSelectedItem f w = fromMaybe (pure w) $ do pointerYourRootItem :: Applicative a => (Item -> a Item) -> World -> a World pointerYourRootItem f w = fromMaybe (pure w) $ do - itinvid <- w ^? hud. manObject . imRootSelectedItem + itinvid <- w ^? hud. manObject . hiRootSelectedItem --revise1 itinvid <- w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . imRootSelectedItem itid <- w ^? cWorld . lWorld . creatures . ix 0 . crInv . ix itinvid Just $ (cWorld . lWorld . items . ix itid) f w diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index a6c5b5ae4..92902b5bd 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -127,19 +127,20 @@ topTestPart u = ] showManObj :: ManipulatedObject -> String -showManObj SortInventory = "SortInventory" -showManObj (SelectedItem y as z) = +--showManObj SortInventory = "SortInventory" +showManObj (HeldItem y as z) = " Root: " ++ show y ++ " Attached: " ++ show z ++ " AimStance: " ++ show as -showManObj SelNothing = "SelNothing" -showManObj SortCloseItem = "SortCloseItem" -showManObj (SelCloseItem x) = "CloseItem " ++ show x -showManObj SortCloseButton = "SortCloseButton" -showManObj (SelCloseButton x) = "CloseButton " ++ show x +showManObj HandsFree = "HandsFree" +--showManObj SelNothing = "SelNothing" +--showManObj SortCloseItem = "SortCloseItem" +--showManObj (SelCloseItem x) = "CloseItem " ++ show x +--showManObj SortCloseButton = "SortCloseButton" +--showManObj (SelCloseButton x) = "CloseButton " ++ show x showTimeFlow :: TimeFlowStatus -> String showTimeFlow tfs = case tfs of diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 9b2df9164..9ef6e4a64 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -350,7 +350,7 @@ pushYouOutFromWalls u -- rotate creature as well? behaviour on ledges? muzzleWallCheck :: World -> Creature -> Creature muzzleWallCheck w cr = fromMaybe cr $ do - invid <- w ^? hud . manObject . imRootSelectedItem . unNInt + invid <- w ^? hud . manObject . hiRootSelectedItem . unNInt --revise1 invid <- cr ^? crManipulation . manObject . imRootSelectedItem . unNInt loc <- invIndents ((\k -> w ^?! cWorld . lWorld . items . ix k) <$> _crInv cr) diff --git a/tags b/tags index 7279bff90..6b41248a8 100644 --- a/tags +++ b/tags @@ -147,7 +147,6 @@ BoundCurs src/Dodge/Data/SelectionList.hs 23;" C Bound_box_screen src/Dodge/Data/Config.hs 95;" C Bounds src/Dodge/Data/Bounds.hs 10;" t BrigSS src/Dodge/Data/Scenario.hs 102;" C -Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C BulBall src/Dodge/Data/Bullet.hs 34;" C BulFlak src/Dodge/Data/Bullet.hs 36;" C BulFrag src/Dodge/Data/Bullet.hs 37;" C @@ -229,7 +228,7 @@ ColoredLightRP src/Dodge/Data/Room.hs 88;" C Comatose src/Dodge/Data/Creature/Perception.hs 51;" C CombAmount src/Dodge/Data/CombAmount.hs 10;" t CombItem src/Dodge/Data/Combine.hs 8;" t -CombineInventory src/Dodge/Data/HUD.hs 21;" C +CombineInventory src/Dodge/Data/HUD.hs 22;" C CombineInventoryChange src/Dodge/Data/World.hs 33;" C ComsSS src/Dodge/Data/Scenario.hs 98;" C ConcurrentEffect src/Loop/Data.hs 6;" t @@ -334,7 +333,7 @@ DestroyItem src/Dodge/Data/Scenario.hs 7;" C Detector src/Dodge/Data/Item/Combine.hs 183;" t Dirt src/Dodge/Data/Material.hs 12;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t -DisplayTerminal src/Dodge/Data/HUD.hs 26;" C +DisplayTerminal src/Dodge/Data/HUD.hs 27;" C Display_debug src/Dodge/Data/Config.hs 79;" C Distortion src/Dodge/Data/Distortion.hs 11;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C @@ -399,7 +398,7 @@ EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C Escape src/Dodge/Data/Scenario.hs 10;" C Essential src/Shape/Data.hs 30;" C EvadeAim src/Dodge/Data/ActionPlan.hs 78;" C -ExamineInventory src/Dodge/Data/HUD.hs 15;" C +ExamineInventory src/Dodge/Data/HUD.hs 16;" C Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 39;" C ExplosionPayload src/Dodge/Data/Payload.hs 9;" C @@ -526,12 +525,14 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C HOSE src/Dodge/Data/Item/Combine.hs 55;" C HP src/Dodge/Data/Creature.hs 64;" C -HUD src/Dodge/Data/HUD.hs 28;" t +HUD src/Dodge/Data/HUD.hs 29;" t HalfRes src/Dodge/Data/Config.hs 115;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C +HandsFree src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" C HardQuit src/Dodge/Data/Universe.hs 68;" C HarvestFrom src/Dodge/Data/ActionPlan.hs 153;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C +HeldItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C HeldItemType src/Dodge/Data/Item/Combine.hs 141;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C @@ -731,9 +732,7 @@ MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 33;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 36;" C MakeTempLightFade src/Dodge/Data/WorldEffect.hs 37;" C ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 20;" t -Manipulation src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" t -Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" C -MapperInventory src/Dodge/Data/HUD.hs 16;" C +MapperInventory src/Dodge/Data/HUD.hs 17;" C MapperSF src/Dodge/Data/ComposedItem.hs 40;" C Material src/Dodge/Data/Material.hs 10;" t MaterialSound src/Dodge/Data/SoundOrigin.hs 36;" C @@ -855,7 +854,7 @@ NoSIDisplayMod src/Dodge/Data/SelectionList.hs 59;" C NoShadowFidelity src/Shape/Data.hs 21;" C NoShadows src/Dodge/Data/Config.hs 121;" C NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C -NoSubInventory src/Dodge/Data/HUD.hs 14;" C +NoSubInventory src/Dodge/Data/HUD.hs 15;" C NoTrigger src/Dodge/Data/TriggerType.hs 11;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 26;" C Noclip src/Dodge/Data/Config.hs 83;" C @@ -1181,14 +1180,10 @@ SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 26;" t SeeAbove src/Dodge/Data/Wall.hs 32;" C SeeThrough src/Dodge/Data/Wall.hs 31;" C -Sel src/Dodge/Data/HUD.hs 38;" C -SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" C -SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C +Sel src/Dodge/Data/HUD.hs 40;" C SelItem src/Dodge/Data/SelectionList.hs 47;" C -SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C SelSection src/Dodge/Data/SelectionList.hs 32;" t -SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C -Selection src/Dodge/Data/HUD.hs 38;" t +Selection src/Dodge/Data/HUD.hs 40;" t SelectionItem src/Dodge/Data/SelectionList.hs 47;" t SelectionWidth src/Dodge/Data/SelectionList.hs 45;" t SelfTree src/Dodge/Data/MetaTree.hs 21;" t @@ -1250,9 +1245,6 @@ Smoke src/Dodge/Data/Cloud.hs 22;" C SmokeReducerSF src/Dodge/Data/ComposedItem.hs 29;" C SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C SolarGovernment src/Dodge/Data/Scenario.hs 53;" C -SortCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 31;" C -SortCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 29;" C -SortInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C Sound src/Sound/Data.hs 43;" t SoundFilter src/Dodge/Data/WorldEffect.hs 21;" t SoundID src/Sound/Data.hs 30;" t @@ -1289,7 +1281,7 @@ Stone src/Dodge/Data/Material.hs 13;" C StorageSS src/Dodge/Data/Scenario.hs 94;" C Strategy src/Dodge/Data/ActionPlan.hs 136;" t StrategyInt src/Dodge/Data/ActionPlan.hs 154;" C -SubInventory src/Dodge/Data/HUD.hs 13;" t +SubInventory src/Dodge/Data/HUD.hs 14;" t Superfluous src/Shape/Data.hs 34;" C Surface src/Shape/Data.hs 38;" t Survive src/Dodge/Data/Scenario.hs 5;" C @@ -1673,11 +1665,11 @@ _ceilingStencilShader src/Data/Preload/Render.hs 19;" f _chasmShader src/Data/Preload/Render.hs 48;" f _chasmVBO src/Data/Preload/Render.hs 47;" f _chasms src/Dodge/Data/CWorld.hs 33;" f -_ciFilter src/Dodge/Data/HUD.hs 24;" f +_ciFilter src/Dodge/Data/HUD.hs 25;" f _ciInvIDs src/Dodge/Data/Combine.hs 9;" f _ciItem src/Dodge/Data/Combine.hs 10;" f -_ciSections src/Dodge/Data/HUD.hs 22;" f -_ciSelection src/Dodge/Data/HUD.hs 23;" f +_ciSections src/Dodge/Data/HUD.hs 23;" f +_ciSelection src/Dodge/Data/HUD.hs 24;" f _cigType src/Dodge/Data/Camera.hs 18;" f _clPos src/Dodge/Data/Cloud.hs 14;" f _clTimer src/Dodge/Data/Cloud.hs 16;" f @@ -1687,8 +1679,8 @@ _clZoning src/Dodge/Data/World.hs 50;" f _clickPos src/Dodge/Data/Input.hs 43;" f _clickWorldPos src/Dodge/Data/Input.hs 45;" f _cliffs src/Dodge/Data/CWorld.hs 34;" f -_closeButtons src/Dodge/Data/HUD.hs 35;" f -_closeItems src/Dodge/Data/HUD.hs 34;" f +_closeButtons src/Dodge/Data/HUD.hs 36;" f +_closeItems src/Dodge/Data/HUD.hs 35;" f _cloudShader src/Data/Preload/Render.hs 52;" f _cloudVBO src/Data/Preload/Render.hs 51;" f _clouds src/Dodge/Data/LWorld.hs 98;" f @@ -1721,7 +1713,6 @@ _crHP src/Dodge/Data/Creature.hs 43;" f _crID src/Dodge/Data/Creature.hs 42;" f _crIntention src/Dodge/Data/Creature.hs 56;" f _crInv src/Dodge/Data/Creature.hs 44;" f -_crManipulation src/Dodge/Data/Creature.hs 45;" f _crMemory src/Dodge/Data/Creature.hs 52;" f _crMvDir src/Dodge/Data/Creature.hs 40;" f _crName src/Dodge/Data/Creature.hs 57;" f @@ -1758,10 +1749,10 @@ _debugMessage src/Dodge/Data/Universe.hs 58;" f _debug_booleans src/Dodge/Data/Config.hs 68;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 67;" f _delayedEvents src/Dodge/Data/LWorld.hs 135;" f -_diCloseFilter src/Dodge/Data/HUD.hs 33;" f -_diInvFilter src/Dodge/Data/HUD.hs 32;" f -_diSections src/Dodge/Data/HUD.hs 30;" f -_diSelection src/Dodge/Data/HUD.hs 31;" f +_diCloseFilter src/Dodge/Data/HUD.hs 34;" f +_diInvFilter src/Dodge/Data/HUD.hs 33;" f +_diSections src/Dodge/Data/HUD.hs 31;" f +_diSelection src/Dodge/Data/HUD.hs 32;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 14;" f _dimCenter src/Dodge/Data/Item/Misc.hs 13;" f _dimRad src/Dodge/Data/Item/Misc.hs 12;" f @@ -1921,6 +1912,9 @@ _gwWorld src/Dodge/Data/GenWorld.hs 25;" f _harvestTarget src/Dodge/Data/ActionPlan.hs 153;" f _heldPos src/Dodge/Data/Input.hs 44;" f _heldWorldPos src/Dodge/Data/Input.hs 46;" f +_hiAimStance src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f +_hiAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f +_hiRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" f _highlightItems src/Dodge/Data/CWorld.hs 36;" f _hiveChildren src/Dodge/Data/Creature/Misc.hs 96;" f _hiveGestation src/Dodge/Data/Creature/Misc.hs 97;" f @@ -1944,11 +1938,7 @@ _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 -_imAimStance src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f -_imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" f _imHotkeys src/Dodge/Data/LWorld.hs 147;" f -_imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f -_imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" f @@ -1961,8 +1951,6 @@ _incNodeZoning src/Dodge/Data/World.hs 56;" f _input src/Dodge/Data/World.hs 44;" f _inputMemory src/Dodge/Data/Input.hs 50;" f _isWarming src/Dodge/Data/Item/Params.hs 21;" f -_ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" f -_ispCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" f _itConsumables src/Dodge/Data/Item.hs 28;" f _itID src/Dodge/Data/Item.hs 30;" f _itLocation src/Dodge/Data/Item.hs 31;" f @@ -2032,10 +2020,10 @@ _machines src/Dodge/Data/LWorld.hs 126;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f _magnets src/Dodge/Data/LWorld.hs 129;" f _mainAction src/Dodge/Data/ActionPlan.hs 131;" f -_manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f -_mapInvItmID src/Dodge/Data/HUD.hs 19;" f -_mapInvOffset src/Dodge/Data/HUD.hs 17;" f -_mapInvZoom src/Dodge/Data/HUD.hs 18;" f +_manObject src/Dodge/Data/HUD.hs 37;" f +_mapInvItmID src/Dodge/Data/HUD.hs 20;" f +_mapInvOffset src/Dodge/Data/HUD.hs 18;" f +_mapInvZoom src/Dodge/Data/HUD.hs 19;" f _matUBO src/Data/Preload/Render.hs 42;" f _mbAttach src/Dodge/Data/MetaTree.hs 19;" f _mbTree src/Dodge/Data/MetaTree.hs 19;" f @@ -2378,8 +2366,8 @@ _skVel src/Dodge/Data/Spark.hs 12;" f _skinHead src/Dodge/Data/Creature/Misc.hs 112;" f _skinLower src/Dodge/Data/Creature/Misc.hs 114;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 113;" f -_slInt src/Dodge/Data/HUD.hs 38;" f -_slSec src/Dodge/Data/HUD.hs 38;" f +_slInt src/Dodge/Data/HUD.hs 40;" f +_slSec src/Dodge/Data/HUD.hs 40;" f _slimeCompression src/Dodge/Data/Creature/Misc.hs 82;" f _slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 84;" f _slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 83;" f @@ -2420,7 +2408,7 @@ _stuckCrID src/Dodge/Data/Projectile.hs 50;" f _stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f _stuckCrRot src/Dodge/Data/Projectile.hs 50;" f _stuckWlID src/Dodge/Data/Projectile.hs 51;" f -_subInventory src/Dodge/Data/HUD.hs 29;" f +_subInventory src/Dodge/Data/HUD.hs 30;" f _swColor src/Dodge/Data/Shockwave.hs 17;" f _swDam src/Dodge/Data/Shockwave.hs 22;" f _swDirection src/Dodge/Data/Shockwave.hs 18;" f @@ -2445,7 +2433,7 @@ _tbStartPos src/Dodge/Data/TractorBeam.hs 13;" f _tbTime src/Dodge/Data/TractorBeam.hs 15;" f _tbVel src/Dodge/Data/TractorBeam.hs 14;" f _tempSPic src/Dodge/Data/LWorld.hs 114;" f -_termID src/Dodge/Data/HUD.hs 26;" f +_termID src/Dodge/Data/HUD.hs 27;" f _terminals src/Dodge/Data/LWorld.hs 127;" f _teslaArcs src/Dodge/Data/LWorld.hs 115;" f _testFloat src/Dodge/Data/World.hs 45;" f @@ -2651,11 +2639,11 @@ addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 90;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 501;" f +advanceScrollAmount src/Dodge/Update.hs 502;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f aimDelaySweep src/Dodge/Render/Picture.hs 291;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f -aimTurn src/Dodge/Creature/YourControl.hs 152;" f +aimTurn src/Dodge/Creature/YourControl.hs 155;" f airlock src/Dodge/Room/Airlock.hs 28;" f airlock0 src/Dodge/Room/Airlock.hs 78;" f airlock90 src/Dodge/Room/Airlock.hs 201;" f @@ -2751,7 +2739,7 @@ axisInt src/Geometry/Intersect.hs 248;" f azure src/Color.hs 49;" f bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToLine src/Geometry/Bezier.hs 30;" f -backPQ src/Dodge/Creature/HandPos.hs 183;" f +backPQ src/Dodge/Creature/HandPos.hs 185;" f backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 784;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackShape src/Dodge/Item/Draw/SPic.hs 189;" f @@ -2872,7 +2860,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f 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 1005;" f +canSpring src/Dodge/Update.hs 1006;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f capacitor src/Dodge/Item/Ammo.hs 67;" f card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f @@ -2891,10 +2879,10 @@ centerVaultRoom src/Dodge/Room/Procedural.hs 271;" f centroid src/Geometry/Polygon.hs 192;" f centroidNum src/Geometry/Polygon.hs 195;" f chainPairs src/Geometry.hs 360;" f -changeSwapOther src/Dodge/Inventory.hs 251;" f -changeSwapSel src/Dodge/Inventory.hs 220;" f -changeSwapSelSet src/Dodge/Inventory.hs 155;" f -changeSwapWith src/Dodge/Inventory.hs 291;" f +changeSwapOther src/Dodge/Inventory.hs 254;" f +changeSwapSel src/Dodge/Inventory.hs 223;" f +changeSwapSelSet src/Dodge/Inventory.hs 158;" f +changeSwapWith src/Dodge/Inventory.hs 288;" f charToTuple src/Picture/Base.hs 312;" f charToTupleGrad src/Picture/Text.hs 18;" f chartreuse src/Color.hs 51;" f @@ -2908,25 +2896,25 @@ chasmSpitTerminal src/Dodge/Room/Tutorial.hs 348;" f chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 102;" f -checkConnection src/Dodge/Inventory/Swap.hs 75;" f +checkConnection src/Dodge/Inventory/Swap.hs 78;" f checkDeath src/Dodge/Creature/Update.hs 461;" f checkDeath' src/Dodge/Creature/Update.hs 464;" f -checkEndGame src/Dodge/Update.hs 891;" f +checkEndGame src/Dodge/Update.hs 892;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 95;" f -checkTermDist src/Dodge/Update.hs 413;" f +checkTermDist src/Dodge/Update.hs 414;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f -chestPQ src/Dodge/Creature/HandPos.hs 180;" f +chestPQ src/Dodge/Creature/HandPos.hs 182;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f -chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f +chooseEquipPosition src/Dodge/Inventory/RBList.hs 42;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 178;" f -chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f +chooseFreeSite src/Dodge/Inventory/RBList.hs 48;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 69;" f circHitWall src/Dodge/Base/Collide.hs 255;" f circInPolygon src/Geometry/Polygon.hs 110;" f @@ -2956,11 +2944,11 @@ cleatSide src/Dodge/Cleat.hs 27;" f click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 844;" f clicker src/Dodge/Item/Scope.hs 88;" f clipV src/Geometry/Vector.hs 48;" f -clipZoom src/Dodge/Update/Camera.hs 234;" f +clipZoom src/Dodge/Update/Camera.hs 241;" f clipboardCr src/Dodge/Debug.hs 91;" f clockCycle src/Dodge/Clock.hs 7;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 237;" f -closeItemDist src/Dodge/Inventory.hs 152;" f +closeItemDist src/Dodge/Inventory.hs 155;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 260;" f closeObjectInfo src/Dodge/Render/HUD.hs 221;" f @@ -2978,7 +2966,7 @@ cognizantVoc src/Dodge/Creature/Perception.hs 68;" f colCrWall src/Dodge/WallCreatureCollisions.hs 27;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 19;" f collectDamageTypes src/Dodge/Damage.hs 54;" f -collectInvItems src/Dodge/Inventory.hs 210;" f +collectInvItems src/Dodge/Inventory.hs 213;" f collide3 src/Dodge/Base/Collide.hs 142;" f collide3Chasm src/Dodge/Base/Collide.hs 126;" f collide3Chasms src/Dodge/Base/Collide.hs 118;" f @@ -2998,7 +2986,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 44;" f combineAwareness src/Dodge/Creature/Perception.hs 119;" f combineFloors src/Dodge/Room/Procedural.hs 154;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 323;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 337;" f combineItemListYouX src/Dodge/Combine.hs 36;" f combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 134;" f @@ -3020,7 +3008,7 @@ compressionScale src/Dodge/Creature/State/WalkCycle.hs 69;" f compressor src/Dodge/Item/Ammo.hs 74;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f conEffects src/Dodge/Concurrent.hs 12;" f -concurrentIS src/Dodge/Inventory.hs 202;" f +concurrentIS src/Dodge/Inventory.hs 205;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 802;" f constructEdges src/Polyhedra.hs 31;" f constructEdgesList src/Polyhedra.hs 40;" f @@ -3046,7 +3034,7 @@ crAdd src/Dodge/Room/RezBox.hs 116;" f crAwayFromPost src/Dodge/Creature/Test.hs 82;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCanSeeCr src/Dodge/Creature/Test.hs 49;" f -crCrSpring src/Dodge/Update.hs 1012;" f +crCrSpring src/Dodge/Update.hs 1013;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f crDeathEffects src/Dodge/Creature/Update.hs 483;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f @@ -3062,8 +3050,8 @@ crIXsNearPoint src/Dodge/Zoning/Creature.hs 15;" f crImpulsesOnCognizant src/Dodge/Creature/Perception.hs 58;" f crInAimStance src/Dodge/Creature/Test.hs 87;" f crIsAiming src/Dodge/Creature/Test.hs 57;" f -crIsArmouredFrom src/Dodge/Creature/Test.hs 103;" f -crLeftHandWall src/Dodge/Creature/HandPos.hs 94;" f +crIsArmouredFrom src/Dodge/Creature/Test.hs 104;" f +crLeftHandWall src/Dodge/Creature/HandPos.hs 95;" f crMass src/Dodge/Creature/Mass.hs 5;" f crMaterial src/Dodge/Creature/Material.hs 8;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f @@ -3075,23 +3063,23 @@ crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 36;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 88;" f crMvForward' src/Dodge/Creature/Impulse/Movement.hs 67;" f crMvType src/Dodge/Creature/MoveType.hs 7;" f -crNearPoint src/Dodge/Creature/Test.hs 125;" f +crNearPoint src/Dodge/Creature/Test.hs 126;" 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 crPathing src/Dodge/Creature/Action.hs 127;" f crRad src/Dodge/Creature/Radius.hs 7;" f -crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f +crRightHandWall src/Dodge/Creature/HandPos.hs 77;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f -crSetRoots src/Dodge/Inventory/Location.hs 56;" f +crSetRoots src/Dodge/Inventory/Location.hs 57;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 1000;" f +crSpring src/Dodge/Update.hs 1001;" 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 67;" f -crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f +crUpdateInvidLocations src/Dodge/Inventory/Location.hs 68;" f +crUpdateItemLocations src/Dodge/Inventory/Location.hs 50;" 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 @@ -3112,7 +3100,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 10;" f createHeadLamp src/Dodge/Euse.hs 64;" f -createItemYou src/Dodge/Inventory/Add.hs 74;" f +createItemYou src/Dodge/Inventory/Add.hs 75;" f createLightMap src/Render.hs 26;" f createProjectile src/Dodge/HeldUse.hs 1305;" f createProjectileR src/Dodge/HeldUse.hs 1254;" f @@ -3246,8 +3234,8 @@ defHeldItem src/Dodge/Default/Item.hs 9;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 311;" f defaultAimMvType src/Dodge/Creature/MoveType.hs 24;" f -defaultAimingCrit src/Dodge/Default/Creature.hs 106;" f -defaultAudition src/Dodge/Default/Creature.hs 91;" f +defaultAimingCrit src/Dodge/Default/Creature.hs 105;" f +defaultAudition src/Dodge/Default/Creature.hs 90;" f defaultAutoWall src/Dodge/Default/Wall.hs 32;" f defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Data/Bounds.hs 18;" f @@ -3260,7 +3248,7 @@ defaultChaseMvType src/Dodge/Creature/MoveType.hs 33;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f defaultConfig src/Dodge/Data/Config.hs 154;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f -defaultCreatureMemory src/Dodge/Default/Creature.hs 64;" f +defaultCreatureMemory src/Dodge/Default/Creature.hs 63;" f defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f defaultDeathSounds src/Dodge/Creature/Vocalization.hs 55;" f defaultDirtBlock src/Dodge/Default/Block.hs 17;" f @@ -3271,19 +3259,19 @@ defaultDrawButton src/Dodge/Button/Draw.hs 44;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultHUD src/Dodge/Default/World.hs 175;" f -defaultInanimate src/Dodge/Default/Creature.hs 61;" f +defaultInanimate src/Dodge/Default/Creature.hs 60;" f defaultInput src/Dodge/Default/World.hs 13;" f -defaultIntention src/Dodge/Default/Creature.hs 97;" f -defaultInvSize src/Dodge/Default/Creature.hs 71;" f +defaultIntention src/Dodge/Default/Creature.hs 96;" f +defaultInvSize src/Dodge/Default/Creature.hs 70;" f defaultLDP src/Dodge/ListDisplayParams.hs 19;" f defaultLWorld src/Dodge/Default/World.hs 108;" f defaultMachine src/Dodge/Default.hs 30;" f defaultMachineWall src/Dodge/Default/Wall.hs 38;" f -defaultPerceptionState src/Dodge/Default/Creature.hs 74;" f +defaultPerceptionState src/Dodge/Default/Creature.hs 73;" f defaultProximitySensor src/Dodge/Default.hs 53;" f defaultRoom src/Dodge/Default/Room.hs 9;" f defaultTerminal src/Dodge/Default/Terminal.hs 8;" f -defaultVision src/Dodge/Default/Creature.hs 84;" f +defaultVision src/Dodge/Default/Creature.hs 83;" f defaultWall src/Dodge/Default/Wall.hs 15;" f defaultWindow src/Dodge/Default/Wall.hs 54;" f defaultWorld src/Dodge/Default/World.hs 34;" f @@ -3328,7 +3316,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 197;" f displayIndents src/Dodge/DisplayInventory.hs 111;" f displayPulse src/Dodge/Inventory/SelectionList.hs 192;" f -displayTerminalLineString src/Dodge/Update.hs 586;" f +displayTerminalLineString src/Dodge/Update.hs 587;" f dist src/Geometry/Vector.hs 193;" f dist3 src/Geometry/Vector3D.hs 102;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f @@ -3341,7 +3329,7 @@ divideLine src/Geometry.hs 248;" f 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 132;" f +doAimTwist src/Dodge/Creature/YourControl.hs 135;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 169;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f doBarrelSpin src/Dodge/Projectile/Update.hs 169;" f @@ -3391,7 +3379,7 @@ doRandImpulse src/Dodge/RandImpulse.hs 8;" f doRegexInput src/Dodge/Update/Input/InGame.hs 458;" f doRoomPlacements src/Dodge/Layout.hs 121;" f doRoomShift src/Dodge/Room/Link.hs 34;" f -doScopeZoom src/Dodge/Update/Scroll.hs 89;" f +doScopeZoom src/Dodge/Update/Scroll.hs 92;" f doSectionSize src/Dodge/DisplayInventory.hs 216;" f doSideEffects appDodge/Main.hs 118;" f doSlimeRadChange src/Dodge/Creature/Update.hs 299;" f @@ -3402,12 +3390,12 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f doThrust src/Dodge/Projectile/Update.hs 132;" f doTimeScroll src/Dodge/Update.hs 235;" f doTmWdWd src/Dodge/WorldEffect.hs 102;" f -doWallRotate src/Dodge/Update/Camera.hs 231;" f +doWallRotate src/Dodge/Update/Camera.hs 238;" f doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 35;" f -doWorldEvents src/Dodge/Update.hs 510;" f +doWorldEvents src/Dodge/Update.hs 511;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f @@ -3481,8 +3469,8 @@ drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInventory src/Dodge/Render/HUD.hs 60;" f -drawItemChildrenConnect src/Dodge/Render/HUD.hs 316;" f -drawItemConnections src/Dodge/Render/HUD.hs 309;" f +drawItemChildrenConnect src/Dodge/Render/HUD.hs 330;" f +drawItemConnections src/Dodge/Render/HUD.hs 323;" f drawJumpDown src/Dodge/Render/Picture.hs 192;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 198;" f @@ -3515,7 +3503,7 @@ drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 95;" f drawPulseLaser src/Dodge/Laser/Update.hs 42;" f drawQuitTerminal src/Dodge/Render/Picture.hs 147;" f -drawRBOptions src/Dodge/Render/HUD.hs 246;" f +drawRBOptions src/Dodge/Render/HUD.hs 257;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawReturn src/Dodge/Render/Picture.hs 156;" f @@ -3537,8 +3525,8 @@ drawSubInventory src/Dodge/Render/HUD.hs 166;" f drawSwitch src/Dodge/Button/Draw.hs 18;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 379;" f -drawTerminalDisplay src/Dodge/Render/HUD.hs 340;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 393;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 354;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 224;" f drawTitle src/Dodge/Render/MenuScreen.hs 49;" f @@ -3608,17 +3596,17 @@ enumOption src/Dodge/Menu/OptionType.hs 17;" f epText src/Dodge/Inventory/SelectionList.hs 74;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f -eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f -equipAllocString src/Dodge/Render/HUD.hs 300;" f -equipAttachPos src/Dodge/Item/Draw.hs 30;" f +eqTypeToSites src/Dodge/Inventory/RBList.hs 78;" f +equipAllocString src/Dodge/Render/HUD.hs 314;" f +equipAttachPos src/Dodge/Item/Draw.hs 31;" f equipBackgroundEffect src/Dodge/Euse.hs 22;" f equipInfo src/Dodge/Item/Info.hs 140;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 160;" f -equipPosition src/Dodge/Item/Draw.hs 38;" f +equipPosition src/Dodge/Item/Draw.hs 39;" f equipSiteInfo src/Dodge/Item/Info.hs 252;" f equipSitePQ src/Dodge/Creature/HandPos.hs 33;" f equipType src/Dodge/Data/EquipType.hs 10;" f -equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f +equipmentDesignation src/Dodge/Inventory/RBList.hs 53;" f equipmentStrValue src/Dodge/Creature/Statistics.hs 62;" f errorAngleVV src/Geometry.hs 59;" f errorClosestPointOnLine src/Geometry.hs 71;" f @@ -3635,7 +3623,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expireAndDamage src/Dodge/Bullet.hs 191;" f -explodeShell src/Dodge/Projectile/Update.hs 275;" f +explodeShell src/Dodge/Projectile/Update.hs 272;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 746;" f explosiveBarrel src/Dodge/Creature/Inanimate.hs 25;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 79;" f @@ -3646,14 +3634,14 @@ extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 104;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f -farWallDistDirection src/Dodge/Update/Camera.hs 245;" f +farWallDistDirection src/Dodge/Update/Camera.hs 252;" f fdiv src/ShortShow.hs 41;" f -feedSlime src/Dodge/Update.hs 1080;" f +feedSlime src/Dodge/Update.hs 1081;" f feet src/Dodge/Creature/Picture.hs 226;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 161;" f findBlips src/Dodge/RadarSweep.hs 63;" f -findBoundDists src/Dodge/Update/Camera.hs 252;" f +findBoundDists src/Dodge/Update/Camera.hs 259;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f findIndex src/IntMapHelp.hs 86;" f @@ -3727,7 +3715,7 @@ fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 278;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f -fuseSlimes src/Dodge/Update.hs 1094;" f +fuseSlimes src/Dodge/Update.hs 1095;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f @@ -3740,7 +3728,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 170;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f -gasEffect src/Dodge/Update.hs 916;" f +gasEffect src/Dodge/Update.hs 917;" f gasType src/Dodge/HeldUse.hs 1144;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3753,7 +3741,7 @@ geometryQuickCheckTests test/Spec.hs 59;" f geometryTests test/Spec.hs 19;" f geometryUnitTests test/Spec.hs 25;" f geqConstr src/SameConstr.hs 21;" f -getAimZoom src/Dodge/Update/Camera.hs 152;" f +getAimZoom src/Dodge/Update/Camera.hs 159;" f getAmmoLinks src/Dodge/Item/Grammar.hs 109;" f getAttachedSFLink src/Dodge/HeldUse.hs 806;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 90;" f @@ -3766,7 +3754,7 @@ getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 628;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 615;" f -getDebugMouseOver src/Dodge/Update.hs 476;" f +getDebugMouseOver src/Dodge/Update.hs 477;" f getDistortions src/Dodge/Render.hs 448;" f getEdgesCrossing src/Dodge/Path.hs 39;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1293;" f @@ -3776,7 +3764,7 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 488;" f +getMenuMouseContext src/Dodge/Update.hs 489;" f getNodePos src/Dodge/Path.hs 36;" f getPJStabiliser src/Dodge/HeldUse.hs 1280;" f getPretty src/AesonHelp.hs 8;" f @@ -3841,8 +3829,8 @@ halfHeight src/Dodge/Base/Window.hs 49;" f halfWidth src/Dodge/Base/Window.hs 49;" f haltSound src/Dodge/SoundLogic.hs 38;" f hammerCheck src/Dodge/HeldUse.hs 67;" f -handHandleOrient src/Dodge/Item/HeldOffset.hs 71;" f -handOrient src/Dodge/Item/HeldOffset.hs 52;" f +handHandleOrient src/Dodge/Item/HeldOffset.hs 69;" f +handOrient src/Dodge/Item/HeldOffset.hs 50;" f handWalkingPos src/Dodge/Creature/HandPos.hs 51;" f handleEvent src/Dodge/Event.hs 27;" f handleHotkeys src/Dodge/Creature/YourControl.hs 37;" f @@ -3850,13 +3838,13 @@ handleKeyboardEvent src/Dodge/Event/Input.hs 23;" f handleMouseButtonEvent src/Dodge/Event/Input.hs 59;" f handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f handleMouseWheelEvent src/Dodge/Event/Input.hs 54;" f -handleOrient src/Dodge/Item/HeldOffset.hs 32;" f -handlePos src/Dodge/Item/HeldOffset.hs 92;" f +handleOrient src/Dodge/Item/HeldOffset.hs 30;" f +handlePos src/Dodge/Item/HeldOffset.hs 90;" f handleResizeEvent src/Dodge/Event.hs 53;" f handleTextInput src/Dodge/Event/Input.hs 19;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f hardQuit src/Dodge/Concurrent.hs 32;" f -hasAutoDoorBody src/Dodge/Creature/Test.hs 135;" f +hasAutoDoorBody src/Dodge/Creature/Test.hs 136;" f hasButtonLOS src/Dodge/Base/Collide.hs 316;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasLOS src/Dodge/Base/Collide.hs 309;" f @@ -3866,25 +3854,25 @@ head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 68;" f headLampShape src/Dodge/Item/Draw/SPic.hs 426;" f headMap src/Dodge/DoubleTree.hs 118;" f -headPQ src/Dodge/Creature/HandPos.hs 174;" f +headPQ src/Dodge/Creature/HandPos.hs 176;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 674;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 109;" f healthTest src/Dodge/Room/LasTurret.hs 129;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 24;" f heldAimStance src/Dodge/Item/AimStance.hs 28;" f -heldAimZoom src/Dodge/Update/Camera.hs 158;" f +heldAimZoom src/Dodge/Update/Camera.hs 165;" f heldEffect src/Dodge/HeldUse.hs 64;" f heldEffectMuzzles src/Dodge/HeldUse.hs 135;" f -heldHandlePos src/Dodge/Item/HeldOffset.hs 98;" f +heldHandlePos src/Dodge/Item/HeldOffset.hs 96;" f heldInfo src/Dodge/Item/Info.hs 92;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 20;" f -heldItemBulkiness src/Dodge/Creature/YourControl.hs 165;" f +heldItemBulkiness src/Dodge/Creature/YourControl.hs 169;" f heldItemInvLock src/Dodge/HeldUse.hs 469;" f heldItemMuzVel src/Dodge/HeldUse.hs 1031;" f heldItemMuzzles src/Dodge/HeldUse.hs 198;" f heldItemRifling src/Dodge/HeldUse.hs 1073;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 236;" f -heldItemWeight src/Dodge/Creature/Statistics.hs 86;" f +heldItemWeight src/Dodge/Creature/Statistics.hs 87;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldTorqueAmount src/Dodge/HeldUse.hs 611;" f heldTriggerType src/Dodge/BaseTriggerType.hs 28;" f @@ -3903,7 +3891,7 @@ holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 50;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f -hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f +hotkeyToScancode src/Dodge/Creature/YourControl.hs 64;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 83;" f hoverCritHoverSound src/Dodge/Creature/Update.hs 437;" f @@ -3981,15 +3969,15 @@ invDP src/Dodge/ListDisplayParams.hs 32;" f invDT src/Dodge/Item/Grammar.hs 227;" f invDT' src/Dodge/Item/Grammar.hs 232;" f invDimColor src/Dodge/DisplayInventory.hs 191;" f -invHead src/Dodge/Render/HUD.hs 409;" f +invHead src/Dodge/Render/HUD.hs 423;" 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 invRootMap src/Dodge/Item/Grammar.hs 237;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 33;" f -invSetSelection src/Dodge/Inventory.hs 296;" f -invSetSelectionPos src/Dodge/Inventory.hs 304;" f +invSetSelection src/Dodge/Inventory.hs 293;" f +invSetSelectionPos src/Dodge/Inventory.hs 302;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f inventoryX src/Dodge/Creature.hs 103;" f @@ -4005,10 +3993,10 @@ invertInventoryToMap src/Dodge/Combine.hs 57;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 29;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 27;" f isAmmoIntLink src/Dodge/HeldUse.hs 738;" f -isAnimate src/Dodge/Creature/Test.hs 128;" f +isAnimate src/Dodge/Creature/Test.hs 129;" f isBee src/Dodge/TestString.hs 45;" f isCognizant src/Dodge/Creature/Perception.hs 115;" f -isConnected src/Dodge/Inventory/Swap.hs 86;" f +isConnected src/Dodge/Inventory/Swap.hs 89;" f isCornerLink src/Dodge/RoomLink.hs 66;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 232;" f isInLnk src/Dodge/PlacementSpot.hs 163;" f @@ -4045,7 +4033,7 @@ itemBaseName src/Dodge/Item/Display.hs 60;" f itemBaseStance src/Dodge/Item/AimStance.hs 22;" f itemBelowAttachables src/Dodge/Item/Grammar.hs 54;" f itemBlips src/Dodge/RadarSweep.hs 94;" f -itemBulkiness src/Dodge/Creature/YourControl.hs 159;" f +itemBulkiness src/Dodge/Creature/YourControl.hs 163;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemDetectorEffect src/Dodge/HeldUse.hs 812;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 54;" f @@ -4065,7 +4053,7 @@ itemRooms src/Dodge/LockAndKey.hs 40;" f itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f itemScan src/Dodge/Item/Scope.hs 68;" f -itemScroll src/Dodge/Update/Scroll.hs 55;" f +itemScroll src/Dodge/Update/Scroll.hs 58;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 137;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 164;" f itemShapeMax src/Dodge/Item/Orientation.hs 68;" f @@ -4078,7 +4066,7 @@ itemString src/Dodge/Item/Display.hs 56;" f itemToFunction src/Dodge/Item/Grammar.hs 112;" f itemTreeSPic src/Dodge/Item/Draw/SPicTree.hs 13;" f itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f -itemWeight src/Dodge/Creature/Statistics.hs 80;" f +itemWeight src/Dodge/Creature/Statistics.hs 81;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 30;" f @@ -4138,13 +4126,13 @@ leaveResetQuitTerminal src/Dodge/WorldEffect.hs 164;" f led src/Dodge/Item/Held/Utility.hs 23;" f left src/DoubleStack.hs 16;" f leftChildList src/Dodge/Item/Grammar.hs 195;" f -leftHandPQ src/Dodge/Creature/HandPos.hs 118;" f +leftHandPQ src/Dodge/Creature/HandPos.hs 119;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 172;" f leftPad src/Padding.hs 15;" f leftRightCombine src/Dodge/Item/Grammar.hs 207;" f -leftWristPQ src/Dodge/Creature/HandPos.hs 146;" f -legPQ src/Dodge/Creature/HandPos.hs 152;" f -legPQ' src/Dodge/Creature/HandPos.hs 157;" f +leftWristPQ src/Dodge/Creature/HandPos.hs 148;" f +legPQ src/Dodge/Creature/HandPos.hs 154;" f +legPQ' src/Dodge/Creature/HandPos.hs 159;" f legsSPic src/Dodge/Item/Draw/SPic.hs 451;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f liShape src/Dodge/Placement/Instance/LightSource.hs 86;" f @@ -4172,7 +4160,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 287;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 300;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 398;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 412;" f loadAmmoTut src/Dodge/Room/Tutorial.hs 475;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f @@ -4190,7 +4178,7 @@ locDTLeftmost src/Dodge/DoubleTree.hs 148;" f locDTRightmost src/Dodge/DoubleTree.hs 151;" f locGoHelp src/Dodge/DoubleTree.hs 166;" f locMuzzles src/Dodge/HeldUse.hs 149;" f -locOrient src/Dodge/Item/HeldOffset.hs 66;" f +locOrient src/Dodge/Item/HeldOffset.hs 64;" f locToTop src/Dodge/DoubleTree.hs 145;" f locUp' src/Dodge/DoubleTree.hs 132;" f lockInv src/Dodge/Inventory/Lock.hs 9;" f @@ -4398,18 +4386,18 @@ mouseCursorType src/Dodge/Render/Picture.hs 90;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 39;" f mouseWorldPosW src/Dodge/Base/Coordinate.hs 42;" f moveBullet src/Dodge/Bullet.hs 200;" f -moveCombineSel src/Dodge/Update/Scroll.hs 119;" f +moveCombineSel src/Dodge/Update/Scroll.hs 122;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 31;" f movePenBullet src/Dodge/Bullet.hs 206;" f -moveProjectile src/Dodge/Projectile/Update.hs 250;" f +moveProjectile src/Dodge/Projectile/Update.hs 247;" f moveRoomBy src/Dodge/Room/Link.hs 57;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f -moveStuckGrenade src/Dodge/Projectile/Update.hs 229;" f +moveStuckGrenade src/Dodge/Projectile/Update.hs 226;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 106;" f moveWall src/Dodge/Wall/Move.hs 23;" f moveWallID src/Dodge/Wall/Move.hs 18;" f moveWallIDUnsafe src/Dodge/Wall/Move.hs 13;" f -moveZoomCamera src/Dodge/Update/Camera.hs 94;" f +moveZoomCamera src/Dodge/Update/Camera.hs 95;" f mtTopLabels src/Dodge/Tree/Compose.hs 51;" f mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f @@ -4418,8 +4406,8 @@ multGunCrit src/Dodge/Creature.hs 68;" f multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f -multiSelScroll src/Dodge/Inventory.hs 227;" f -multiSelScroll' src/Dodge/Inventory.hs 234;" f +multiSelScroll src/Dodge/Inventory.hs 230;" f +multiSelScroll' src/Dodge/Inventory.hs 237;" f muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 702;" f muzzlePos src/Dodge/HeldUse.hs 787;" f @@ -4428,7 +4416,7 @@ muzzleWallCheck src/Dodge/Update.hs 351;" f mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f -mvGust src/Dodge/Update.hs 907;" f +mvGust src/Dodge/Update.hs 908;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f @@ -4486,7 +4474,7 @@ obstructPathsCrossing src/Dodge/Path.hs 153;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f onEquipWristShield src/Dodge/Euse.hs 89;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f -oneH src/Dodge/Creature/Test.hs 91;" f +oneH src/Dodge/Creature/Test.hs 92;" f oneSmooth src/Dodge/Creature/Picture.hs 223;" f openConsole src/Dodge/Update.hs 140;" f optionMenu src/Dodge/Menu.hs 110;" f @@ -4546,7 +4534,7 @@ pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 219;" f -pbFlicker src/Dodge/Update.hs 571;" f +pbFlicker src/Dodge/Update.hs 572;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 144;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4559,8 +4547,8 @@ performAimAt src/Dodge/Creature/Action.hs 111;" f performPathTo src/Dodge/Creature/Action.hs 132;" f performTurnToA src/Dodge/Creature/Action.hs 152;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f -pickUpItem src/Dodge/Inventory/Add.hs 82;" f -pickUpItemAt src/Dodge/Inventory/Add.hs 87;" f +pickUpItem src/Dodge/Inventory/Add.hs 83;" f +pickUpItemAt src/Dodge/Inventory/Add.hs 88;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 830;" f pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f @@ -4603,9 +4591,9 @@ pointIsInCone src/Geometry.hs 375;" f pointIsOnScreen src/Dodge/Base/Window.hs 60;" f pointTowardsImpulse src/Dodge/Path.hs 120;" f pointTowardsImpulse' src/Dodge/Path.hs 123;" f -pointerToItem src/Dodge/Item/Location.hs 39;" f -pointerToItemID src/Dodge/Item/Location.hs 42;" f -pointerYourRootItem src/Dodge/Item/Location.hs 33;" f +pointerToItem src/Dodge/Item/Location.hs 42;" f +pointerToItemID src/Dodge/Item/Location.hs 45;" f +pointerYourRootItem src/Dodge/Item/Location.hs 35;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f poisonSPic src/Dodge/Creature/Update.hs 542;" f @@ -4766,7 +4754,7 @@ rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToCompass src/Dodge/Inventory/SelectionList.hs 111;" f radToDeg src/Geometry/Vector.hs 131;" f -radiusSpring src/Dodge/Update.hs 989;" f +radiusSpring src/Dodge/Update.hs 990;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 58;" f @@ -4788,7 +4776,7 @@ randPeakedParam src/RandomHelp.hs 149;" f randProb src/RandomHelp.hs 87;" f randSpark src/Dodge/Spark.hs 70;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f -randWallReflect src/Dodge/Update.hs 758;" f +randWallReflect src/Dodge/Update.hs 759;" f randomChallenges src/Dodge/Room/Start.hs 64;" f randomCompass src/Dodge/Layout.hs 61;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f @@ -4893,7 +4881,7 @@ rightHandPQ src/Dodge/Creature/HandPos.hs 64;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 183;" f rightPad src/Padding.hs 19;" f rightPadNoSquash src/Padding.hs 23;" f -rightWristPQ src/Dodge/Creature/HandPos.hs 115;" f +rightWristPQ src/Dodge/Creature/HandPos.hs 116;" f rlPosDir src/Dodge/RoomLink.hs 112;" f rlauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f rmInLinks src/Dodge/RoomLink.hs 153;" f @@ -4930,7 +4918,7 @@ rotate src/Picture/Base.hs 145;" f rotate3x src/Geometry/Vector3D.hs 61;" f rotate3y src/Geometry/Vector3D.hs 67;" f rotate3z src/Geometry/Vector3D.hs 55;" f -rotateCamera src/Dodge/Update/Camera.hs 205;" f +rotateCamera src/Dodge/Update/Camera.hs 212;" f rotateList src/Padding.hs 49;" f rotateSH src/Shape.hs 259;" f rotateSHq src/Shape.hs 159;" f @@ -4938,7 +4926,7 @@ rotateSHx src/Shape.hs 267;" f rotateSP src/ShapePicture.hs 57;" f rotateTo src/Polyhedra/Geodesic.hs 65;" f rotateTo8 src/Dodge/Update/Camera/Rotate.hs 6;" f -rotateToOverlappingWall src/Dodge/Update/Camera.hs 219;" f +rotateToOverlappingWall src/Dodge/Update/Camera.hs 226;" f rotateToZ src/Quaternion.hs 38;" f rotateV src/Geometry/Vector.hs 114;" f rotateVAround src/Geometry/Vector.hs 121;" f @@ -4981,7 +4969,7 @@ scaleMat src/MatrixHelper.hs 71;" f scaleMatrix src/MatrixHelper.hs 68;" f scaleSH src/Shape.hs 271;" f scalp src/Dodge/Creature/Picture.hs 401;" f -scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f +scancodeToHotkey src/Dodge/Creature/YourControl.hs 84;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f scorchSPic src/Dodge/Creature/Update.hs 539;" f screenBox src/Dodge/Base/Window.hs 54;" f @@ -4989,9 +4977,9 @@ screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f screenPosAbs src/Dodge/ScreenPos.hs 16;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f -scrollAugInvSel src/Dodge/Inventory.hs 307;" f -scrollAugNextInSection src/Dodge/Inventory.hs 321;" f -scrollRBOption src/Dodge/Update/Scroll.hs 139;" f +scrollAugInvSel src/Dodge/Inventory.hs 305;" f +scrollAugNextInSection src/Dodge/Inventory.hs 320;" f +scrollRBOption src/Dodge/Update/Scroll.hs 142;" f scrollSelectionSections src/Dodge/SelectionSections.hs 30;" f scrollTimeBack src/Dodge/Update.hs 245;" f scrollTimeForward src/Dodge/Update.hs 262;" f @@ -5012,13 +5000,13 @@ seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f segmentArea src/Dodge/Creature/Update.hs 355;" f -selNumPos src/Dodge/Render/HUD.hs 458;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 475;" f +selNumPos src/Dodge/Render/HUD.hs 472;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 489;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f -selSecSelCol src/Dodge/Render/HUD.hs 495;" f +selSecSelCol src/Dodge/Render/HUD.hs 509;" f selSecSelSize src/Dodge/SelectionSections.hs 178;" f selSecYint src/Dodge/SelectionSections.hs 187;" f -selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f +selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f selectionSet src/Dodge/Update/Input/InGame.hs 161;" f semitoneLoop1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 846;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 68;" f @@ -5042,13 +5030,13 @@ 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 93;" f +setInvPosFromSS src/Dodge/Inventory/Location.hs 90;" f setLayer src/Picture/Base.hs 131;" f setLinkType src/Dodge/RoomLink.hs 79;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f setMusicVolume src/Sound.hs 164;" f setMvPosToTargetCr src/Dodge/Creature/ReaderUpdate.hs 59;" f -setOldPos src/Dodge/Update.hs 602;" f +setOldPos src/Dodge/Update.hs 603;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f @@ -5063,7 +5051,7 @@ setSoundVolume src/Sound.hs 159;" f setTile src/Dodge/Layout.hs 78;" f setTiles src/Dodge/Layout.hs 68;" f setTreeInts src/Dodge/Room/Tutorial.hs 118;" f -setViewDistance src/Dodge/Update/Camera.hs 240;" f +setViewDistance src/Dodge/Update/Camera.hs 247;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 70;" f setViewport src/Dodge/Render.hs 453;" f setVol src/Dodge/Config.hs 47;" f @@ -5098,8 +5086,8 @@ shiftChildren src/Dodge/Tree/Compose.hs 45;" f shiftDraw src/Dodge/Render/ShapePicture.hs 111;" f shiftInBy src/Dodge/PlacementSpot.hs 254;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 317;" f -shiftInvItemsDown src/Dodge/Inventory.hs 186;" f -shiftInvItemsUp src/Dodge/Inventory.hs 196;" f +shiftInvItemsDown src/Dodge/Inventory.hs 189;" f +shiftInvItemsUp src/Dodge/Inventory.hs 199;" f shiftLinkBy src/Dodge/Room/Link.hs 89;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 94;" f @@ -5111,8 +5099,8 @@ shiftRelativeToPS src/Dodge/Placement/Shift.hs 18;" f shiftRoomBy src/Dodge/Room/Link.hs 38;" f shiftRoomShiftBy src/Dodge/Room/Link.hs 83;" f shiftRoomShiftToLink src/Dodge/Room/Link.hs 74;" f -shiftSetDown src/Dodge/Inventory.hs 179;" f -shiftSetUp src/Dodge/Inventory.hs 173;" f +shiftSetDown src/Dodge/Inventory.hs 182;" f +shiftSetUp src/Dodge/Inventory.hs 176;" 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 @@ -5133,16 +5121,16 @@ shootingRange src/Dodge/Room/Room.hs 362;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f shortShow src/ShortShow.hs 7;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 566;" f -shoulderHeight src/Dodge/Item/HeldOffset.hs 77;" f +shoulderHeight src/Dodge/Item/HeldOffset.hs 75;" f showAttachItem src/Dodge/Item/Display.hs 93;" f showEquipItem src/Dodge/Item/Display.hs 109;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f -showManObj src/Dodge/TestString.hs 128;" f +showManObj src/Dodge/TestString.hs 129;" f showMuzzlePositions src/Dodge/Debug.hs 320;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 145;" f +showTimeFlow src/Dodge/TestString.hs 144;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5151,7 +5139,7 @@ shufflePair src/RandomHelp.hs 166;" f shuffleRoomPos src/Dodge/Layout.hs 103;" f shuffleTail src/RandomHelp.hs 78;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 994;" f +simpleCrSprings src/Dodge/Update.hs 995;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 854;" f @@ -5179,10 +5167,10 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 70;" f -slimeEatSound src/Dodge/Update.hs 1110;" f -slimeFood src/Dodge/Update.hs 1072;" f +slimeEatSound src/Dodge/Update.hs 1111;" f +slimeFood src/Dodge/Update.hs 1073;" f slimeOutline src/Dodge/Creature/Slime.hs 9;" f -slimeSuck src/Dodge/Update.hs 1056;" f +slimeSuck src/Dodge/Update.hs 1057;" f slimeToRad src/Dodge/Data/Creature/Misc.hs 105;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 58;" f slinkCritUpdate src/Dodge/Creature/Update.hs 358;" f @@ -5322,7 +5310,7 @@ strFromHeldItem src/Dodge/Creature/Statistics.hs 73;" f strengthFactor src/Dodge/Creature/Impulse/Movement.hs 61;" f strictify src/MaybeHelp.hs 35;" f strideLength src/Dodge/Creature/HandPos.hs 46;" f -strideRot src/Dodge/Item/HeldOffset.hs 80;" f +strideRot src/Dodge/Item/HeldOffset.hs 78;" f stringToList src/Picture/Base.hs 308;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 98;" f @@ -5331,12 +5319,12 @@ subMap src/TreeHelp.hs 121;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f subtree src/TreeHelp.hs 72;" f succB src/Dodge/Debug.hs 174;" f -swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 58;" f +swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 61;" f swapInOutLinks src/Dodge/RoomLink.hs 99;" f swapIndices src/ListHelp.hs 50;" f swapInvItems src/Dodge/Inventory/Swap.hs 23;" f -swapItemWith src/Dodge/Inventory.hs 280;" f -swapSelSet src/Dodge/Inventory.hs 160;" f +swapItemWith src/Dodge/Inventory.hs 277;" f +swapSelSet src/Dodge/Inventory.hs 163;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f symmetricDifference src/Dodge/Update/Input/InGame.hs 226;" f @@ -5381,7 +5369,7 @@ terminalReturnLocal src/Dodge/Terminal.hs 283;" f terminalSPic src/Dodge/Machine/Draw.hs 44;" f terminalScreenGlow src/Dodge/Machine/Update.hs 42;" f terminalShape src/Dodge/Machine/Draw.hs 47;" f -terminalWheelEvent src/Dodge/Update/Scroll.hs 129;" f +terminalWheelEvent src/Dodge/Update/Scroll.hs 132;" f teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 414;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" f @@ -5420,7 +5408,7 @@ thingsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 65;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 862;" f throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 820;" f -throwItem src/Dodge/Creature/Action.hs 222;" f +throwItem src/Dodge/Creature/Action.hs 227;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 221;" f tilesToLine src/Shader/AuxAddition.hs 66;" f @@ -5442,7 +5430,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 474;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f -tmScreenMousePos src/Dodge/Update.hs 468;" f +tmScreenMousePos src/Dodge/Update.hs 469;" f toBinary src/Dodge/Inventory/SelectionList.hs 154;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f @@ -5485,13 +5473,13 @@ tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 116;" f transMat src/MatrixHelper.hs 87;" f -transToHandle src/Dodge/Item/HeldOffset.hs 29;" f +transToHandle src/Dodge/Item/HeldOffset.hs 27;" f translate src/Picture/Base.hs 108;" f translate3 src/Picture/Base.hs 112;" f -translateFloatingCamera src/Dodge/Update/Camera.hs 50;" f -translateFloatingCameraKeys src/Dodge/Update/Camera.hs 68;" f +translateFloatingCamera src/Dodge/Update/Camera.hs 51;" f +translateFloatingCameraKeys src/Dodge/Update/Camera.hs 69;" f translateH src/Picture/Base.hs 104;" f -translatePointToLeftHand src/Dodge/Creature/HandPos.hs 140;" f +translatePointToLeftHand src/Dodge/Creature/HandPos.hs 142;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 43;" f translateSH src/Shape.hs 247;" f translateSHxy src/Shape.hs 251;" f @@ -5501,10 +5489,10 @@ translateSPxy src/ShapePicture.hs 45;" f translateSPz src/ShapePicture.hs 49;" f translateScreenPos src/Dodge/ScreenPos.hs 12;" f translateToES src/Dodge/Creature/HandPos.hs 30;" f -translateToLeftHand src/Dodge/Creature/HandPos.hs 143;" f -translateToLeftLeg src/Dodge/Creature/HandPos.hs 149;" f -translateToRightHand src/Dodge/Creature/HandPos.hs 112;" f -translateToRightLeg src/Dodge/Creature/HandPos.hs 171;" f +translateToLeftHand src/Dodge/Creature/HandPos.hs 145;" f +translateToLeftLeg src/Dodge/Creature/HandPos.hs 151;" f +translateToRightHand src/Dodge/Creature/HandPos.hs 113;" f +translateToRightLeg src/Dodge/Creature/HandPos.hs 173;" f translateXY src/Polyhedra.hs 23;" f trapTBH src/Geometry/Polygon.hs 22;" f trapezionBWHW src/Geometry/Polygon.hs 34;" f @@ -5524,7 +5512,7 @@ truncFaces src/Polyhedra/Geodesic.hs 54;" f truncate src/Polyhedra/Geodesic.hs 39;" f trunkDepth src/TreeHelp.hs 164;" f tryAttachItems src/Dodge/Item/Grammar.hs 35;" f -tryClickUse src/Dodge/Creature/YourControl.hs 207;" f +tryClickUse src/Dodge/Creature/YourControl.hs 211;" f tryCombine src/Dodge/Update/Input/InGame.hs 590;" f tryDrawToCapacitor src/Dodge/Creature/State.hs 179;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 147;" f @@ -5535,14 +5523,14 @@ tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 42;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 173;" f tryPlay src/Sound.hs 85;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 25;" f -tryPutItemInInvAt src/Dodge/Inventory/Add.hs 66;" f +tryPutItemInInvAt src/Dodge/Inventory/Add.hs 67;" f trySeedFromClipboard src/Dodge/Menu.hs 94;" f trySpin src/Dodge/Projectile/Update.hs 120;" f trySynthBullet src/Dodge/Creature/State.hs 195;" f tryThrust src/Dodge/Projectile/Update.hs 126;" f tryUseParent src/Dodge/Creature/State.hs 173;" f turnTo src/Dodge/Movement/Turn.hs 8;" f -turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f +turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f tutDrop src/Dodge/Room/Tutorial.hs 123;" f tutHub src/Dodge/Room/Tutorial.hs 535;" f @@ -5553,11 +5541,11 @@ tutorialMessage1 src/Dodge/Room/Tutorial.hs 673;" f tweenAngles src/Geometry/Vector.hs 198;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f -twists src/Dodge/Creature/Test.hs 97;" f -twoFlat src/Dodge/Creature/Test.hs 94;" f -twoFlatHRot src/Dodge/Item/HeldOffset.hs 89;" f -twoHandOffY src/Dodge/Creature/HandPos.hs 130;" f -twoHandTwistAmount src/Dodge/Creature/YourControl.hs 137;" f +twists src/Dodge/Creature/Test.hs 98;" f +twoFlat src/Dodge/Creature/Test.hs 95;" f +twoFlatHRot src/Dodge/Item/HeldOffset.hs 87;" f +twoHandOffY src/Dodge/Creature/HandPos.hs 132;" f +twoHandTwistAmount src/Dodge/Creature/YourControl.hs 140;" f twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 612;" f @@ -5582,7 +5570,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f updateAggroBee src/Dodge/Creature/Update.hs 129;" f -updateAimPos src/Dodge/Update.hs 400;" f +updateAimPos src/Dodge/Update.hs 401;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 489;" f @@ -5591,59 +5579,59 @@ updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBeeCrit src/Dodge/Creature/Update.hs 115;" f updateBeeFromPheremones src/Dodge/Creature/Update.hs 107;" f -updateBeePheremone src/Dodge/Update.hs 787;" f -updateBounds src/Dodge/Update/Camera.hs 262;" f +updateBeePheremone src/Dodge/Update.hs 788;" f +updateBounds src/Dodge/Update/Camera.hs 269;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 673;" f +updateBullets src/Dodge/Update.hs 674;" f updateCalmBee src/Dodge/Creature/Update.hs 170;" f updateCalmChaseCrit src/Dodge/Creature/Update.hs 422;" f -updateCamera src/Dodge/Update/Camera.hs 33;" f +updateCamera src/Dodge/Update/Camera.hs 34;" f updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f updateChaseCrit src/Dodge/Creature/Update.hs 371;" f -updateCloseObjects src/Dodge/Inventory.hs 129;" f -updateCloud src/Dodge/Update.hs 920;" f -updateClouds src/Dodge/Update.hs 784;" f +updateCloseObjects src/Dodge/Inventory.hs 132;" f +updateCloud src/Dodge/Update.hs 921;" f +updateClouds src/Dodge/Update.hs 785;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 42;" f updateCombineSections src/Dodge/DisplayInventory.hs 49;" f updateCreature src/Dodge/Creature/Update.hs 50;" f -updateCreatureGroups src/Dodge/Update.hs 645;" f -updateCreatureSoundPositions src/Dodge/Update.hs 624;" f -updateCreatureStride src/Dodge/Update.hs 379;" f -updateCreatureStrides src/Dodge/Update.hs 376;" f -updateDebris src/Dodge/Update.hs 687;" f +updateCreatureGroups src/Dodge/Update.hs 646;" f +updateCreatureSoundPositions src/Dodge/Update.hs 625;" f +updateCreatureStride src/Dodge/Update.hs 380;" f +updateCreatureStrides src/Dodge/Update.hs 377;" f +updateDebris src/Dodge/Update.hs 688;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f -updateDelayedEvents src/Dodge/Update.hs 1117;" f +updateDelayedEvents src/Dodge/Update.hs 1118;" f updateDisplaySections src/Dodge/DisplayInventory.hs 117;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 666;" f +updateDistortions src/Dodge/Update.hs 667;" f updateDoor src/Dodge/Door.hs 22;" f -updateDoors src/Dodge/Update.hs 405;" f -updateDust src/Dodge/Update.hs 968;" f -updateDusts src/Dodge/Update.hs 795;" f +updateDoors src/Dodge/Update.hs 406;" f +updateDust src/Dodge/Update.hs 969;" f +updateDusts src/Dodge/Update.hs 796;" f updateEdge src/Dodge/Path.hs 45;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 32;" f -updateEnergyBalls src/Dodge/Update.hs 775;" f +updateEnergyBalls src/Dodge/Update.hs 776;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 534;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 772;" f -updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f +updateFlames src/Dodge/Update.hs 773;" f +updateFloatingCamera src/Dodge/Update/Camera.hs 39;" f updateFoodSearchChaseCrit src/Dodge/Creature/Update.hs 381;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 366;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 362;" f -updateGas src/Dodge/Update.hs 942;" f -updateGusts src/Dodge/Update.hs 904;" f +updateGas src/Dodge/Update.hs 943;" f +updateGusts src/Dodge/Update.hs 905;" f updateHiveCrit src/Dodge/Creature/Update.hs 82;" f updateHoverCrit src/Dodge/Humanoid.hs 25;" f -updateIMl src/Dodge/Update.hs 639;" f -updateIMl' src/Dodge/Update.hs 642;" f -updateInGameCamera src/Dodge/Update/Camera.hs 86;" f +updateIMl src/Dodge/Update.hs 640;" f +updateIMl' src/Dodge/Update.hs 643;" f +updateInGameCamera src/Dodge/Update/Camera.hs 87;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 439;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f @@ -5655,56 +5643,56 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 385;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 408;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f -updateLasers src/Dodge/Update.hs 517;" f +updateLasers src/Dodge/Update.hs 518;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 61;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 452;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 408;" f +updateMagnets src/Dodge/Update.hs 409;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 229;" f -updateMouseContext src/Dodge/Update.hs 421;" f -updateMouseContextGame src/Dodge/Update.hs 426;" f +updateMouseContext src/Dodge/Update.hs 422;" f +updateMouseContextGame src/Dodge/Update.hs 427;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 94;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 84;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 198;" f -updateObjCatMaybes src/Dodge/Update.hs 657;" f -updateObjMapMaybe src/Dodge/Update.hs 650;" f -updatePastWorlds src/Dodge/Update.hs 506;" f -updatePlasmaBall src/Dodge/Update.hs 531;" f -updatePlasmaBalls src/Dodge/Update.hs 680;" f +updateObjCatMaybes src/Dodge/Update.hs 658;" f +updateObjMapMaybe src/Dodge/Update.hs 651;" f +updatePastWorlds src/Dodge/Update.hs 507;" f +updatePlasmaBall src/Dodge/Update.hs 532;" f +updatePlasmaBalls src/Dodge/Update.hs 681;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f updatePulse src/Dodge/Creature/Update.hs 549;" f -updatePulseBall src/Dodge/Update.hs 551;" f -updatePulseLaser src/Dodge/Update.hs 727;" f -updatePulseLasers src/Dodge/Update.hs 526;" f +updatePulseBall src/Dodge/Update.hs 552;" f +updatePulseLaser src/Dodge/Update.hs 728;" f +updatePulseLasers src/Dodge/Update.hs 527;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 669;" f +updateRadarBlips src/Dodge/Update.hs 670;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 778;" f +updateRadarSweeps src/Dodge/Update.hs 779;" f updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 190;" f updateRootItemID src/Dodge/Inventory/Location.hs 42;" f -updateScopeZoom src/Dodge/Update/Scroll.hs 77;" f +updateScopeZoom src/Dodge/Update/Scroll.hs 80;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 242;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 769;" f +updateShockwaves src/Dodge/Update.hs 770;" f updateSingleNodes src/TreeHelp.hs 100;" f updateSlimeCrit src/Dodge/Creature/Update.hs 252;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f -updateSparks src/Dodge/Update.hs 781;" f -updateTerminal src/Dodge/Update.hs 589;" f -updateTeslaArc src/Dodge/Update.hs 697;" f -updateTeslaArcs src/Dodge/Update.hs 694;" f +updateSparks src/Dodge/Update.hs 782;" f +updateTerminal src/Dodge/Update.hs 590;" f +updateTeslaArc src/Dodge/Update.hs 698;" f +updateTeslaArcs src/Dodge/Update.hs 695;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 766;" f +updateTractorBeams src/Dodge/Update.hs 767;" f updateTurret src/Dodge/Machine/Update.hs 55;" f updateUniverse src/Dodge/Update.hs 83;" f updateUniverseFirst src/Dodge/Update.hs 94;" f @@ -5715,7 +5703,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateVocTimer src/Dodge/Humanoid.hs 39;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 496;" f +updateWheelEvents src/Dodge/Update.hs 497;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f upperBody src/Dodge/Creature/Picture.hs 422;" f @@ -5739,7 +5727,7 @@ upperPrismPolyTS src/Shape.hs 112;" f upperRounded src/Shape.hs 178;" f useBulletPayload src/Dodge/Bullet.hs 117;" f useGasParams src/Dodge/HeldUse.hs 1120;" f -useHotkey src/Dodge/Creature/YourControl.hs 57;" f +useHotkey src/Dodge/Creature/YourControl.hs 59;" f useInventoryPath src/Dodge/HeldUse.hs 1411;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 19;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f @@ -5777,7 +5765,7 @@ verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 23;" f vgunMuzzles src/Dodge/HeldUse.hs 369;" f viewClipBounds src/Dodge/Debug/Picture.hs 350;" f -viewDistanceFromItems src/Dodge/Update/Camera.hs 202;" f +viewDistanceFromItems src/Dodge/Update/Camera.hs 209;" f viewGameRoomBoundaries src/Dodge/Debug/Picture.hs 332;" f viewRoomBoundaries src/Dodge/Debug/Picture.hs 341;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 253;" f @@ -5799,11 +5787,11 @@ wallsToDraw src/Dodge/Render/Walls.hs 18;" f warmupSound src/Dodge/HeldUse.hs 1405;" f warningRooms src/Dodge/Room/Warning.hs 34;" f warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 910;" f -wasdAim src/Dodge/Creature/YourControl.hs 116;" f +wasdAim src/Dodge/Creature/YourControl.hs 118;" f wasdDir src/Dodge/WASD.hs 17;" f wasdM src/Dodge/WASD.hs 9;" f -wasdMovement src/Dodge/Creature/YourControl.hs 140;" f -wasdWithAiming src/Dodge/Creature/YourControl.hs 106;" f +wasdMovement src/Dodge/Creature/YourControl.hs 143;" f +wasdWithAiming src/Dodge/Creature/YourControl.hs 108;" f watchCombinations src/Dodge/Combine/Combinations.hs 16;" f watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 276;" f weaponBehindPillar src/Dodge/Room/Room.hs 200;" f @@ -5883,11 +5871,11 @@ you src/Dodge/Base/You.hs 17;" f youDropItem src/Dodge/Creature/Action.hs 208;" f yourAugmentedItem src/Dodge/Render/HUD.hs 233;" f yourControl src/Dodge/Creature/YourControl.hs 26;" f -yourDefaultStrideLength src/Dodge/Default/Creature.hs 109;" f +yourDefaultStrideLength src/Dodge/Default/Creature.hs 108;" f yourInfo src/Dodge/Creature/Info.hs 10;" f -yourInv src/Dodge/Base/You.hs 37;" f -yourRootItem src/Dodge/Base/You.hs 26;" f -yourRootItemDT src/Dodge/Base/You.hs 32;" f +yourInv src/Dodge/Base/You.hs 40;" f +yourRootItem src/Dodge/Base/You.hs 28;" f +yourRootItemDT src/Dodge/Base/You.hs 35;" f yourSelectedItem src/Dodge/Base/You.hs 20;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f zChasm src/Dodge/Room/Tutorial.hs 203;" f @@ -5899,11 +5887,11 @@ zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 142;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 578;" f +zoneClouds src/Dodge/Update.hs 579;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 613;" f +zoneCreatures src/Dodge/Update.hs 614;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 583;" f +zoneDusts src/Dodge/Update.hs 584;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f @@ -5925,8 +5913,8 @@ zonePn src/Dodge/Zoning/Pathing.hs 32;" f zoneWall src/Dodge/Zoning/Wall.hs 64;" f zonesAroundPoint src/Dodge/Zoning/Base.hs 98;" f zonesExtract src/Dodge/Zoning/Base.hs 62;" f -zoomFloatingCamera src/Dodge/Update/Camera.hs 78;" f -zoomInLongGun src/Dodge/Update/Scroll.hs 103;" f -zoomOutLongGun src/Dodge/Update/Scroll.hs 111;" f +zoomFloatingCamera src/Dodge/Update/Camera.hs 79;" f +zoomInLongGun src/Dodge/Update/Scroll.hs 106;" f +zoomOutLongGun src/Dodge/Update/Scroll.hs 114;" f zoomScope src/Dodge/Item/Scope.hs 32;" f -zoomSpeed src/Dodge/Update/Scroll.hs 100;" f +zoomSpeed src/Dodge/Update/Scroll.hs 103;" f