diff --git a/ghcidOutput b/ghcidOutput index 69ec03cbc..8a0509eec 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (596 modules, at 12:49:06) +All good (596 modules, at 17:39:13) diff --git a/src/Dodge/Data/SelectionList.hs b/src/Dodge/Data/SelectionList.hs index 9ea018ada..3075f6e85 100644 --- a/src/Dodge/Data/SelectionList.hs +++ b/src/Dodge/Data/SelectionList.hs @@ -19,10 +19,13 @@ data ListDisplayParams = ListDisplayParams { _ldpPos :: ScreenPos , _ldpScale :: Float , _ldpVerticalGap :: Float - , _ldpCursorSides :: [CardinalPoint] , _ldpWidth :: SelectionWidth } +data CursorDisplay = CursorDisplay + { _cursSides :: [CardinalPoint] + } + data SelectionList a = SelectionList { _slItems :: [SelectionItem a] , _slSelPos :: Maybe Int @@ -67,10 +70,6 @@ data SelectionWidth | VariableSelectionWidth (Int -> Int) | UseMaxSelectionItemWidth -data CursorType - = NoCursor - | BorderCursor [CardinalPoint] - data SelectionItem a = SelectionItem { _siPictures :: [String] @@ -95,6 +94,7 @@ makeLenses ''SelectionSection makeLenses ''SelectionSections makeLenses ''SSSExtra makeLenses ''SectionCursor +makeLenses ''CursorDisplay --deriveJSON defaultOptions ''SelectionItem --deriveJSON defaultOptions ''SelectionList diff --git a/src/Dodge/ListDisplayParams.hs b/src/Dodge/ListDisplayParams.hs index 68a349b6a..1ec3f1d42 100644 --- a/src/Dodge/ListDisplayParams.hs +++ b/src/Dodge/ListDisplayParams.hs @@ -1,5 +1,6 @@ module Dodge.ListDisplayParams ( invDisplayParams + , invCursorParams , secondColumnParams , subInvX , defaultListDisplayParams @@ -22,18 +23,23 @@ defaultListDisplayParams = , _ldpScale = 1 , _ldpPos = ScreenPos {_spScreenOff = V2 (-0.5) 0.5 -- top left , _spPixelOff = 0} - , _ldpCursorSides = mempty , _ldpWidth = FixedSelectionWidth 15 } invDisplayParams :: World -> ListDisplayParams invDisplayParams w = defaultListDisplayParams - & ldpCursorSides .~ selcursortype +-- & ldpCursorSides .~ selcursortype & ldpWidth .~ FixedSelectionWidth (determineInvSelCursorWidth w) & ldpPos . spPixelOff .~ V2 6 (-1) - where - selcursortype = case w ^? hud . hudElement . subInventory of +-- where +-- selcursortype = case w ^? hud . hudElement . subInventory of +-- _ | ButtonRight `M.member` _mouseButtons (_input w) -> [North, South, East, West] +-- Just ExamineInventory{} -> [North, South, East, West] +-- Just CombineInventory{} -> [] +-- _ -> [North, South, West] +invCursorParams :: World -> CursorDisplay +invCursorParams w = CursorDisplay $ case w ^? hud . hudElement . subInventory of _ | ButtonRight `M.member` _mouseButtons (_input w) -> [North, South, East, West] Just ExamineInventory{} -> [North, South, East, West] Just CombineInventory{} -> [] @@ -43,7 +49,7 @@ secondColumnParams :: ListDisplayParams secondColumnParams = defaultListDisplayParams & ldpPos . spPixelOff .~ V2 subInvX (-81) - & ldpCursorSides .~ [North, South, West] +-- & ldpCursorSides .~ [North, South, West] subInvX :: Float subInvX = 10 * fromIntegral topInvW + 70 @@ -71,4 +77,4 @@ optionListDisplayParams = & ldpScale .~ 2 & ldpVerticalGap .~ 0 & ldpWidth .~ FixedSelectionWidth 50 - & ldpCursorSides .~ [North, South, West] +-- & ldpCursorSides .~ [North, South, West] diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index 11bc16cdd..019e4136d 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -58,7 +58,8 @@ drawHP cfig = drawInventory :: SelectionSections () -> World -> Configuration -> Picture drawInventory sss w cfig = - drawSelectionSections sss (w ^? hud . hudElement . diSelection . _Just) ldp cfig + drawSelectionSections sss ldp cfig + <> drawSSCursor sss (w ^? hud . hudElement . diSelection . _Just) ldp curs cfig <> iextra <> translateScreenPos cfig @@ -68,6 +69,7 @@ drawInventory sss w cfig = <> drawDISelections' w cfig where ldp = invDisplayParams w + curs = invCursorParams w iextra = fromMaybe mempty $ do inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv let x = case invAdj inv of @@ -80,7 +82,9 @@ drawDIMouseOver w = fromMaybe mempty $ do (_, i) <- w ^? hud . hudElement . subInventory . nsMouseOver . _Just sss <- w ^? hud . hudElement . diSections let idp = invDisplayParams w - return . color (withAlpha 0.5 white) $ selSecDrawCursorAt (0, i) 10 idp sss + return . color (withAlpha 0.5 white) $ selSecDrawCursorAt (0, i) 10 idp curs sss + where + curs = CursorDisplay [North,South] getMouseInvSel :: World -> Maybe ((Int, Int), (Int, Int)) getMouseInvSel w = case w ^? hud . hudElement . subInventory . nsSelected of @@ -122,9 +126,11 @@ drawSubInventory subinv cfig w = case subinv of drawCombineInventory :: Configuration -> SelectionSections CombinableItem -> World -> Picture drawCombineInventory cfig sss w = invHead cfig "COMBINE" - <> drawSelectionSections sss msel secondColumnParams cfig + <> drawSelectionSections sss secondColumnParams cfig + <> drawSSCursor sss msel secondColumnParams curs cfig <> combineInventoryExtra sss msel cfig w where + curs = CursorDisplay [North,South,West] msel = w ^? hud . hudElement . subInventory . ciSelection . _Just drawExamineInventory :: Configuration -> World -> Picture @@ -273,10 +279,11 @@ combineInventoryExtra sss msel cfig w = fromMaybe mempty $ do where invcursor i = do sss' <- w ^? hud . hudElement . diSections - let idp = invDisplayParams w & ldpCursorSides .~ [North, South, East, West] + let idp = invDisplayParams w return $ translateScreenPos cfig (idp ^. ldpPos) $ - selSecDrawCursor 17 idp sss' (Just (0, i)) + selSecDrawCursor 17 idp (CursorDisplay [North, South, East, West]) + sss' (Just (0, i)) displayTerminal :: Int -> Configuration -> LWorld -> Picture displayTerminal tid cfig w = fromMaybe mempty $ do diff --git a/src/Dodge/Render/List.hs b/src/Dodge/Render/List.hs index a4ecc0d39..bf02a84cb 100644 --- a/src/Dodge/Render/List.hs +++ b/src/Dodge/Render/List.hs @@ -36,9 +36,12 @@ drawSelectionList ldps cfig sl = (_ldpScale ldps) 0 (makeSelectionListPictures sl) - <> drawSelectionCursor sl ldps + <> drawSelectionCursor sl ldps (CursorDisplay [North,West,South]) -drawSelectionCursor :: SelectionList a -> ListDisplayParams -> Picture +drawSelectionCursor :: SelectionList a + -> ListDisplayParams + -> CursorDisplay + -> Picture drawSelectionCursor sl = drawCursorAt (f $ sl ^. slSelPos) (getShownItems sl) where -- the following is quite hacky @@ -53,15 +56,18 @@ makeSelectionListPictures = concatMap f . getShownItems f si = map (color (_siColor si) . text) $ _siPictures si --f si = map ((flip inverseText) ((_siColor si))) $ _siPictures si -drawCursorAt :: Maybe Int -> [SelectionItem a] -> ListDisplayParams -> Picture -drawCursorAt mi lis ldps = fromMaybe mempty $ do +drawCursorAt :: Maybe Int -> [SelectionItem a] + -> ListDisplayParams + -> CursorDisplay + -> Picture +drawCursorAt mi lis ldps curs = fromMaybe mempty $ do i <- mi selit <- lis !? i return $ listCursorChooseBorderScale (_ldpVerticalGap ldps) (_ldpScale ldps) - (ldps ^. ldpCursorSides) + (curs ^. cursSides) (sum . map _siHeight $ take i lis) (_siOffX selit) (_siColor selit) @@ -85,8 +91,14 @@ stackPicturesAt = stackPicturesAtOff 0 stackPicturesAtOff :: Int -> [Picture] -> Picture stackPicturesAtOff i = mconcat . zipWith (drawListElement 10 1 0) [i, i -1 ..] -selSecDrawCursorAt :: (Int,Int) -> Int -> ListDisplayParams -> SelectionSections a -> Picture -selSecDrawCursorAt (i,j) xsize ldp sss = fromMaybe mempty $ do +selSecDrawCursorAt + :: (Int,Int) + -> Int + -> ListDisplayParams + -> CursorDisplay + -> SelectionSections a + -> Picture +selSecDrawCursorAt (i,j) xsize ldp curs sss = fromMaybe mempty $ do yint <- selSecYint i j sss xint <- sss ^? sssSections . ix i . ssIndent si <- sss ^? sssSections . ix i . ssItems . ix j @@ -94,17 +106,19 @@ selSecDrawCursorAt (i,j) xsize ldp sss = fromMaybe mempty $ do listCursorChooseBorderScale (ldp ^. ldpVerticalGap) (ldp ^. ldpScale) - (ldp ^. ldpCursorSides) + (curs ^. cursSides) yint (xint + _siOffX si) (_siColor si) xsize (_siHeight si) -selSecDrawCursor :: Int -> ListDisplayParams -> SelectionSections a -> +selSecDrawCursor :: Int -> ListDisplayParams + -> CursorDisplay + -> SelectionSections a -> Maybe (Int,Int) -> Picture -selSecDrawCursor xsize ldp sss msel = maybe mempty - (\x -> selSecDrawCursorAt x xsize ldp sss) +selSecDrawCursor xsize ldp curs sss msel = maybe mempty + (\x -> selSecDrawCursorAt x xsize ldp curs sss) msel -- displays a cursor that should match up to list text pictures diff --git a/src/Dodge/SelectionSections/Draw.hs b/src/Dodge/SelectionSections/Draw.hs index 17149b500..168cce77d 100644 --- a/src/Dodge/SelectionSections/Draw.hs +++ b/src/Dodge/SelectionSections/Draw.hs @@ -1,4 +1,7 @@ -module Dodge.SelectionSections.Draw where +module Dodge.SelectionSections.Draw + ( drawSelectionSections + , drawSSCursor + ) where import Control.Lens import Dodge.Data.Config @@ -7,14 +10,26 @@ import Dodge.Render.List import Dodge.ScreenPos import Picture.Base -drawSelectionSections :: SelectionSections a -> Maybe (Int,Int) -> ListDisplayParams -> Configuration -> Picture -drawSelectionSections sss msel ldp cfig = +drawSelectionSections + :: SelectionSections a + -> ListDisplayParams + -> Configuration + -> Picture +drawSelectionSections sss ldp cfig = translateScreenPos cfig (ldp ^. ldpPos) $ drawListYgapScaleYoff (_ldpVerticalGap ldp) (_ldpScale ldp) 0 - pics - <> selSecDrawCursor 15 ldp sss msel - where - pics = foldMap _ssShownItems (_sssSections sss) + (foldMap _ssShownItems (_sssSections sss)) + +drawSSCursor + :: SelectionSections a + -> Maybe (Int,Int) + -> ListDisplayParams + -> CursorDisplay + -> Configuration + -> Picture +drawSSCursor sss msel ldp curs cfig = + translateScreenPos cfig (ldp ^. ldpPos) $ + selSecDrawCursor 15 ldp curs sss msel diff --git a/tags b/tags index c11330593..9ec7911e0 100644 --- a/tags +++ b/tags @@ -191,7 +191,6 @@ Boid src/Dodge/Creature/Boid.hs 1;" m BoostPropIX src/Dodge/Data/Item/Params.hs 29;" C Booster src/Dodge/Item/Equipment/Booster.hs 1;" m Boosting src/Dodge/Data/Creature/Stance.hs 28;" C -BorderCursor src/Dodge/Data/SelectionList.hs 72;" C Boss src/Dodge/Room/Boss.hs 2;" m BottomEscapeMenuOption src/Dodge/Data/Universe.hs 73;" C BounceBullet src/Dodge/Data/Bullet.hs 38;" C @@ -333,7 +332,7 @@ Combinations src/Dodge/Combine/Combinations.hs 3;" m Combine src/Dodge/Combine.hs 2;" m Combine src/Dodge/Data/Combine.hs 2;" m Combine src/Dodge/Data/Item/Combine.hs 6;" m -CombineInventory src/Dodge/Data/HUD.hs 37;" C +CombineInventory src/Dodge/Data/HUD.hs 36;" C CombineInventoryChange src/Dodge/Data/World.hs 34;" C Common src/Dodge/Zoning/Common.hs 1;" m Compile src/Shader/Compile.hs 1;" m @@ -435,7 +434,7 @@ Cull_more_lights src/Dodge/Data/Config.hs 78;" C CumulativeMuzzleEffect src/Dodge/Data/MuzzleEffect.hs 11;" t CurseStatus src/Dodge/Data/Item/CurseStatus.hs 11;" t CurseStatus src/Dodge/Data/Item/CurseStatus.hs 6;" m -CursorType src/Dodge/Data/SelectionList.hs 70;" t +CursorDisplay src/Dodge/Data/SelectionList.hs 25;" t Cuse src/Dodge/Data/Item/HeldUse.hs 15;" t Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C @@ -510,10 +509,10 @@ Detector src/Dodge/Data/Item/Combine.hs 168;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m -DisplayCarte src/Dodge/Data/HUD.hs 21;" C +DisplayCarte src/Dodge/Data/HUD.hs 22;" C DisplayInventory src/Dodge/Data/HUD.hs 16;" C DisplayInventory src/Dodge/DisplayInventory.hs 5;" m -DisplayTerminal src/Dodge/Data/HUD.hs 41;" C +DisplayTerminal src/Dodge/Data/HUD.hs 40;" C Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 6;" m Distortion src/Dodge/Distortion.hs 1;" m @@ -658,7 +657,7 @@ Euse src/Dodge/Data/Item/HeldUse.hs 20;" t Euse src/Dodge/Euse.hs 1;" m Event src/Dodge/Button/Event.hs 1;" m Event src/Dodge/Event.hs 14;" m -ExamineInventory src/Dodge/Data/HUD.hs 36;" C +ExamineInventory src/Dodge/Data/HUD.hs 35;" C Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 36;" C Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m @@ -690,7 +689,7 @@ FetchItem src/Dodge/Data/Scenario.hs 11;" C Fixated src/Dodge/Data/Creature/Perception.hs 62;" C FixedCoordLayer src/Picture/Data.hs 28;" C FixedRate src/Dodge/Data/Item/HeldDelay.hs 15;" C -FixedSelectionWidth src/Dodge/Data/SelectionList.hs 66;" C +FixedSelectionWidth src/Dodge/Data/SelectionList.hs 69;" C FlIt src/Dodge/Data/FloorItem.hs 16;" C Flame src/Dodge/Data/Flame.hs 14;" t Flame src/Dodge/Data/Flame.hs 6;" m @@ -816,7 +815,7 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C HOSE src/Dodge/Data/Item/Combine.hs 32;" C -HUD src/Dodge/Data/HUD.hs 45;" t +HUD src/Dodge/Data/HUD.hs 44;" t HUD src/Dodge/Data/HUD.hs 6;" m HUD src/Dodge/Render/HUD.hs 3;" m HUDElement src/Dodge/Data/HUD.hs 15;" t @@ -1072,7 +1071,7 @@ Location src/Dodge/Item/Location.hs 1;" m LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t Lock src/Dodge/Inventory/Lock.hs 1;" m LockAndKey src/Dodge/LockAndKey.hs 1;" m -LockedInventory src/Dodge/Data/HUD.hs 40;" C +LockedInventory src/Dodge/Data/HUD.hs 39;" C LoneWolf src/Dodge/Data/Creature/State.hs 46;" C LongAI src/Dodge/Data/Creature/Misc.hs 60;" C LongDoor src/Dodge/Room/LongDoor.hs 2;" m @@ -1184,9 +1183,10 @@ MountedLS src/Dodge/Data/MountedObject.hs 12;" C MountedObject src/Dodge/Data/MountedObject.hs 11;" t MountedObject src/Dodge/Data/MountedObject.hs 6;" m MountedProp src/Dodge/Data/MountedObject.hs 13;" C -MouseInvChosen src/Dodge/Data/HUD.hs 26;" C -MouseInvSelect src/Dodge/Data/HUD.hs 24;" C -MouseInventorySelection src/Dodge/Data/HUD.hs 23;" t +MouseInvDrag src/Dodge/Data/HUD.hs 27;" C +MouseInvNothing src/Dodge/Data/HUD.hs 28;" C +MouseInvSelect src/Dodge/Data/HUD.hs 25;" C +MouseInventorySelection src/Dodge/Data/HUD.hs 24;" t Mouse_position src/Dodge/Data/Config.hs 73;" C Move src/Dodge/Data/ActionPlan.hs 28;" C Move src/Dodge/Wall/Move.hs 3;" m @@ -1239,7 +1239,6 @@ NoConcurrentEffect src/Loop/Data.hs 7;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C NoCrWdImp src/Dodge/Data/CreatureEffect.hs 14;" C NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C -NoCursor src/Dodge/Data/SelectionList.hs 71;" C NoDamageEffect src/Dodge/Data/Damage.hs 29;" C NoDebugInfo src/Dodge/Data/Universe.hs 54;" C NoDelay src/Dodge/Data/Item/HeldDelay.hs 14;" C @@ -1263,7 +1262,7 @@ NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C NoShadowFidelity src/Shape/Data.hs 25;" C NoShadows src/Dodge/Data/Config.hs 101;" C -NoSubInventory src/Dodge/Data/HUD.hs 32;" C +NoSubInventory src/Dodge/Data/HUD.hs 31;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C Noclip src/Dodge/Data/Config.hs 70;" C NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C @@ -1636,7 +1635,7 @@ SPRING src/Dodge/Data/Item/Combine.hs 31;" C SPic src/ShapePicture/Data.hs 7;" t SPic src/Dodge/Item/Draw/SPic.hs 3;" m SQUARE src/Dodge/Data/GenParams.hs 20;" C -SSSExtra src/Dodge/Data/SelectionList.hs 44;" t +SSSExtra src/Dodge/Data/SelectionList.hs 47;" t ST src/Dodge/Tree/Compose/Data.hs 12;" C STEELDRUM src/Dodge/Data/Item/Combine.hs 36;" C STOPWATCH src/Dodge/Data/Item/Combine.hs 121;" C @@ -1659,7 +1658,7 @@ ScreenPos src/Dodge/ScreenPos.hs 1;" m Scroll src/Dodge/Update/Scroll.hs 1;" m ScrollValue src/Dodge/ScrollValue.hs 1;" m SecretCabal src/Dodge/Data/Scenario.hs 44;" C -SectionCursor src/Dodge/Data/SelectionList.hs 48;" t +SectionCursor src/Dodge/Data/SelectionList.hs 51;" t SeeAbove src/Dodge/Data/Wall.hs 40;" C SeeThrough src/Dodge/Data/Wall.hs 39;" C SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C @@ -1667,17 +1666,17 @@ SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C SelectUse src/Dodge/SelectUse.hs 1;" m Select_creature src/Dodge/Data/Config.hs 92;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C -SelectionInfo src/Dodge/Data/SelectionList.hs 83;" C -SelectionItem src/Dodge/Data/SelectionList.hs 74;" t -SelectionList src/Dodge/Data/SelectionList.hs 26;" t +SelectionInfo src/Dodge/Data/SelectionList.hs 82;" C +SelectionItem src/Dodge/Data/SelectionList.hs 73;" t +SelectionList src/Dodge/Data/SelectionList.hs 29;" t SelectionList src/Dodge/Data/SelectionList.hs 6;" m SelectionList src/Dodge/Default/SelectionList.hs 1;" m SelectionList src/Dodge/Inventory/SelectionList.hs 2;" m SelectionList src/Dodge/SelectionList.hs 1;" m -SelectionSection src/Dodge/Data/SelectionList.hs 54;" t -SelectionSections src/Dodge/Data/SelectionList.hs 36;" t +SelectionSection src/Dodge/Data/SelectionList.hs 57;" t +SelectionSections src/Dodge/Data/SelectionList.hs 39;" t SelectionSections src/Dodge/SelectionSections.hs 1;" m -SelectionWidth src/Dodge/Data/SelectionList.hs 65;" t +SelectionWidth src/Dodge/Data/SelectionList.hs 68;" t SelfTree src/Dodge/Tree/Compose/Data.hs 12;" t Sensor src/Dodge/Data/Machine/Sensor.hs 16;" t Sensor src/Dodge/Data/Machine/Sensor.hs 6;" m @@ -1808,7 +1807,7 @@ Strategy src/Dodge/Creature/Strategy.hs 1;" m StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C StrictHelp src/StrictHelp.hs 1;" m StringHelp src/StringHelp.hs 1;" m -SubInventory src/Dodge/Data/HUD.hs 31;" t +SubInventory src/Dodge/Data/HUD.hs 30;" t Superfluous src/Shape/Data.hs 38;" C Surface src/Shape/Data.hs 41;" t Survive src/Dodge/Data/Scenario.hs 5;" C @@ -2019,7 +2018,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 36;" C UseHotkey src/Dodge/Data/Item/Use.hs 44;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m -UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 68;" C +UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 71;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C UseScope src/Dodge/Data/Item/Use.hs 60;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C @@ -2033,7 +2032,7 @@ VBO src/Shader/Data.hs 81;" t VF src/Polyhedra/Data.hs 21;" t VIOLET src/Color/Data.hs 22;" C VOLLEYGUN src/Dodge/Data/Item/Combine.hs 139;" C -VariableSelectionWidth src/Dodge/Data/SelectionList.hs 67;" C +VariableSelectionWidth src/Dodge/Data/SelectionList.hs 70;" C Vector src/Geometry/Vector.hs 3;" m Vector3D src/Geometry/Vector3D.hs 2;" m VertexAttribute src/Shader/Data.hs 68;" t @@ -2273,16 +2272,16 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f _camZoom src/Dodge/Data/Camera.hs 26;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f -_carteCenter src/Dodge/Data/HUD.hs 47;" f -_carteRot src/Dodge/Data/HUD.hs 49;" f -_carteZoom src/Dodge/Data/HUD.hs 48;" f +_carteCenter src/Dodge/Data/HUD.hs 46;" f +_carteRot src/Dodge/Data/HUD.hs 48;" f +_carteZoom src/Dodge/Data/HUD.hs 47;" f _ceSideEffect src/Dodge/Data/Universe.hs 62;" f _ceString src/Dodge/Data/Universe.hs 63;" f _ciInfo src/Dodge/Data/Combine.hs 8;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciItem src/Dodge/Data/Combine.hs 7;" f -_ciSections src/Dodge/Data/HUD.hs 37;" f -_ciSelection src/Dodge/Data/HUD.hs 38;" f +_ciSections src/Dodge/Data/HUD.hs 36;" f +_ciSelection src/Dodge/Data/HUD.hs 37;" f _cigType src/Dodge/Data/Camera.hs 19;" f _clAlt src/Dodge/Data/Cloud.hs 23;" f _clPict src/Dodge/Data/Cloud.hs 21;" f @@ -2306,7 +2305,7 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f _clickPos src/Dodge/Data/Input.hs 26;" f _clickWorldPos src/Dodge/Data/Input.hs 28;" f -_closeObjects src/Dodge/Data/HUD.hs 50;" f +_closeObjects src/Dodge/Data/HUD.hs 49;" f _cloudEBO src/Data/Preload/Render.hs 49;" f _cloudShader src/Data/Preload/Render.hs 48;" f _cloudVBO src/Data/Preload/Render.hs 47;" f @@ -2390,6 +2389,7 @@ _ctPos src/Dodge/Data/Creature.hs 85;" f _ctType src/Dodge/Data/Creature.hs 86;" f _currentArc src/Dodge/Data/Item/Params.hs 22;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f +_cursSides src/Dodge/Data/SelectionList.hs 26;" f _cwGen src/Dodge/Data/CWorld.hs 27;" f _cwTiles src/Dodge/Data/CWorld.hs 30;" f _cwgGameRooms src/Dodge/Data/CWorld.hs 38;" f @@ -2418,6 +2418,7 @@ _delayedEvents src/Dodge/Data/LWorld.hs 131;" f _dexterity src/Dodge/Data/Creature/Misc.hs 22;" f _diSections src/Dodge/Data/HUD.hs 18;" f _diSelection src/Dodge/Data/HUD.hs 19;" f +_diSelectionExtra src/Dodge/Data/HUD.hs 20;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f @@ -2586,7 +2587,7 @@ _heldPos src/Dodge/Data/Input.hs 27;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f _heldWorldPos src/Dodge/Data/Input.hs 29;" f _hud src/Dodge/Data/World.hs 47;" f -_hudElement src/Dodge/Data/HUD.hs 46;" f +_hudElement src/Dodge/Data/HUD.hs 45;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f @@ -2656,11 +2657,10 @@ _laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f _lasers src/Dodge/Data/LWorld.hs 115;" f _lasersToDraw src/Dodge/Data/LWorld.hs 116;" f -_ldpCursorSides src/Dodge/Data/SelectionList.hs 22;" f _ldpPos src/Dodge/Data/SelectionList.hs 19;" f _ldpScale src/Dodge/Data/SelectionList.hs 20;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 21;" f -_ldpWidth src/Dodge/Data/SelectionList.hs 23;" f +_ldpWidth src/Dodge/Data/SelectionList.hs 22;" f _ldtLeft src/Dodge/Data/DoubleTree.hs 39;" f _ldtRight src/Dodge/Data/DoubleTree.hs 40;" f _ldtValue src/Dodge/Data/DoubleTree.hs 39;" f @@ -2740,10 +2740,8 @@ _mgField src/Dodge/Data/Magnet.hs 25;" f _mgID src/Dodge/Data/Magnet.hs 22;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f _mgUpdate src/Dodge/Data/Magnet.hs 23;" f -_misDragging src/Dodge/Data/HUD.hs 28;" f -_misExtra src/Dodge/Data/HUD.hs 27;" f -_misMaybeEnd src/Dodge/Data/HUD.hs 25;" f -_misSelStart src/Dodge/Data/HUD.hs 25;" f +_misMaybeEnd src/Dodge/Data/HUD.hs 26;" f +_misSelStart src/Dodge/Data/HUD.hs 26;" f _moEff src/Dodge/Data/Universe.hs 101;" f _moEff1 src/Dodge/Data/Universe.hs 105;" f _moEff2 src/Dodge/Data/Universe.hs 106;" f @@ -2775,8 +2773,8 @@ _newArcStep src/Dodge/Data/Item/Params.hs 25;" f _nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodeTree src/Dodge/Tree/Compose/Data.hs 9;" f _nodesSearched src/Dodge/Data/Creature/Memory.hs 15;" f -_nsMouseOver src/Dodge/Data/HUD.hs 34;" f -_nsSelected src/Dodge/Data/HUD.hs 33;" f +_nsMouseOver src/Dodge/Data/HUD.hs 33;" f +_nsSelected src/Dodge/Data/HUD.hs 32;" f _numLinkEW src/Dodge/Data/Room.hs 33;" f _numLinkNS src/Dodge/Data/Room.hs 34;" f _numberFloorVerxs src/Dodge/Data/CWorld.hs 32;" f @@ -2990,9 +2988,9 @@ _scrollSmoothing src/Dodge/Data/World.hs 63;" f _scrollSmoothing src/Dodge/Data/World.hs 69;" f _scrollTestFloat src/Dodge/Data/Input.hs 31;" f _scrollTestInt src/Dodge/Data/Input.hs 32;" f -_scurColor src/Dodge/Data/SelectionList.hs 51;" f -_scurPos src/Dodge/Data/SelectionList.hs 49;" f -_scurSize src/Dodge/Data/SelectionList.hs 50;" f +_scurColor src/Dodge/Data/SelectionList.hs 54;" f +_scurPos src/Dodge/Data/SelectionList.hs 52;" f +_scurSize src/Dodge/Data/SelectionList.hs 53;" f _seenLocations src/Dodge/Data/LWorld.hs 139;" f _seenWalls src/Dodge/Data/CWorld.hs 29;" f _selLocation src/Dodge/Data/LWorld.hs 140;" f @@ -3018,17 +3016,17 @@ _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shockwaves src/Dodge/Data/LWorld.hs 114;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f -_siColor src/Dodge/Data/SelectionList.hs 79;" f -_siColor src/Dodge/Data/SelectionList.hs 87;" f -_siHeight src/Dodge/Data/SelectionList.hs 77;" f -_siHeight src/Dodge/Data/SelectionList.hs 85;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 78;" f -_siIsSelectable src/Dodge/Data/SelectionList.hs 86;" f -_siOffX src/Dodge/Data/SelectionList.hs 80;" f -_siOffX src/Dodge/Data/SelectionList.hs 88;" f -_siPayload src/Dodge/Data/SelectionList.hs 81;" f -_siPictures src/Dodge/Data/SelectionList.hs 76;" f -_siPictures src/Dodge/Data/SelectionList.hs 84;" f +_siColor src/Dodge/Data/SelectionList.hs 78;" f +_siColor src/Dodge/Data/SelectionList.hs 86;" f +_siHeight src/Dodge/Data/SelectionList.hs 76;" f +_siHeight src/Dodge/Data/SelectionList.hs 84;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 77;" f +_siIsSelectable src/Dodge/Data/SelectionList.hs 85;" f +_siOffX src/Dodge/Data/SelectionList.hs 79;" f +_siOffX src/Dodge/Data/SelectionList.hs 87;" f +_siPayload src/Dodge/Data/SelectionList.hs 80;" f +_siPictures src/Dodge/Data/SelectionList.hs 75;" f +_siPictures src/Dodge/Data/SelectionList.hs 83;" f _sideEffect src/Loop/Data.hs 13;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f _sidePush src/Dodge/Data/Item/Use.hs 87;" f @@ -3043,11 +3041,11 @@ _skWidth src/Dodge/Data/Spark.hs 20;" f _skinHead src/Dodge/Data/Creature/Misc.hs 66;" f _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f -_slItems src/Dodge/Data/SelectionList.hs 27;" f -_slRegex src/Dodge/Data/SelectionList.hs 29;" f -_slRegexInput src/Dodge/Data/SelectionList.hs 30;" f -_slRegexList src/Dodge/Data/SelectionList.hs 31;" f -_slSelPos src/Dodge/Data/SelectionList.hs 28;" f +_slItems src/Dodge/Data/SelectionList.hs 30;" f +_slRegex src/Dodge/Data/SelectionList.hs 32;" f +_slRegexInput src/Dodge/Data/SelectionList.hs 33;" f +_slRegexList src/Dodge/Data/SelectionList.hs 34;" f +_slSelPos src/Dodge/Data/SelectionList.hs 31;" f _smoothScrollAmount src/Dodge/Data/Input.hs 25;" f _soundAngDist src/Sound/Data.hs 53;" f _soundChannel src/Sound/Data.hs 52;" f @@ -3063,16 +3061,16 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 11;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 10;" f _sparks src/Dodge/Data/LWorld.hs 110;" f _spawnEBT src/Dodge/Data/Bullet.hs 43;" f -_ssCursor src/Dodge/Data/SelectionList.hs 56;" f -_ssDescriptor src/Dodge/Data/SelectionList.hs 61;" f -_ssIndent src/Dodge/Data/SelectionList.hs 60;" f -_ssItems src/Dodge/Data/SelectionList.hs 55;" f -_ssMinSize src/Dodge/Data/SelectionList.hs 57;" f -_ssOffset src/Dodge/Data/SelectionList.hs 58;" f -_ssShownItems src/Dodge/Data/SelectionList.hs 59;" f -_sssExtra src/Dodge/Data/SelectionList.hs 38;" f -_sssFilters src/Dodge/Data/SelectionList.hs 45;" f -_sssSections src/Dodge/Data/SelectionList.hs 37;" f +_ssCursor src/Dodge/Data/SelectionList.hs 59;" f +_ssDescriptor src/Dodge/Data/SelectionList.hs 64;" f +_ssIndent src/Dodge/Data/SelectionList.hs 63;" f +_ssItems src/Dodge/Data/SelectionList.hs 58;" f +_ssMinSize src/Dodge/Data/SelectionList.hs 60;" f +_ssOffset src/Dodge/Data/SelectionList.hs 61;" f +_ssShownItems src/Dodge/Data/SelectionList.hs 62;" f +_sssExtra src/Dodge/Data/SelectionList.hs 41;" f +_sssFilters src/Dodge/Data/SelectionList.hs 48;" f +_sssSections src/Dodge/Data/SelectionList.hs 40;" f _strength src/Dodge/Data/Creature/Misc.hs 21;" f _strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f _strideLength src/Dodge/Data/Creature/Stance.hs 16;" f @@ -3103,7 +3101,7 @@ _tcEffect src/Dodge/Data/Terminal.hs 118;" f _tcHelp src/Dodge/Data/Terminal.hs 117;" f _tcString src/Dodge/Data/Terminal.hs 115;" f _tempLightSources src/Dodge/Data/LWorld.hs 138;" f -_termID src/Dodge/Data/HUD.hs 41;" f +_termID src/Dodge/Data/HUD.hs 40;" f _terminals src/Dodge/Data/LWorld.hs 123;" f _teslaArcs src/Dodge/Data/LWorld.hs 113;" f _testFloat src/Dodge/Data/World.hs 45;" f @@ -3326,7 +3324,7 @@ addToTrunk src/TreeHelp.hs 156;" f addWarningTerminal src/Dodge/Room/Warning.hs 37;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 77;" f -advanceScrollAmount src/Dodge/Update.hs 385;" f +advanceScrollAmount src/Dodge/Update.hs 393;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f aimDelaySweep src/Dodge/Render/ShapePicture.hs 56;" f @@ -3567,7 +3565,7 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 112;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 30;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 46;" f checkDeath src/Dodge/Creature/State.hs 75;" f -checkEndGame src/Dodge/Update.hs 672;" f +checkEndGame src/Dodge/Update.hs 680;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f @@ -3577,7 +3575,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f chemFuelPouch src/Dodge/Item/Ammo.hs 110;" f -chooseCursorBorders src/Dodge/Render/List.hs 132;" f +chooseCursorBorders src/Dodge/Render/List.hs 146;" f chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f @@ -3593,7 +3591,7 @@ circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f -clClSpringVel src/Dodge/Update.hs 725;" f +clClSpringVel src/Dodge/Update.hs 733;" f clZoneSize src/Dodge/Zone/Size.hs 3;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 166;" f @@ -3613,14 +3611,14 @@ clipZoom src/Dodge/Update/Camera.hs 215;" f clockCycle src/Dodge/Clock.hs 9;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f -closeObjectInfo src/Dodge/Render/HUD.hs 160;" f +closeObjectInfo src/Dodge/Render/HUD.hs 162;" f closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 69;" f closestCreatureID src/Dodge/Debug.hs 91;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f -cloudEffect src/Dodge/Update.hs 695;" f +cloudEffect src/Dodge/Update.hs 703;" f cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f @@ -3649,7 +3647,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 41;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineFloors src/Dodge/Room/Procedural.hs 172;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 249;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 251;" f combineItemListYouX src/Dodge/Combine.hs 33;" f combineList src/Dodge/Combine.hs 20;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f @@ -3690,7 +3688,7 @@ crAdd src/Dodge/Room/RezBox.hs 104;" f crAwayFromPost src/Dodge/Creature/Test.hs 77;" f crBlips src/Dodge/RadarSweep.hs 69;" f crCanSeeCr src/Dodge/Creature/Test.hs 48;" f -crCrSpring src/Dodge/Update.hs 743;" f +crCrSpring src/Dodge/Update.hs 751;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 28;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f @@ -3710,7 +3708,7 @@ crNearPoint src/Dodge/Creature/Test.hs 135;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 35;" f crOnWall src/Dodge/WallCreatureCollisions.hs 84;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 67;" f -crSpring src/Dodge/Update.hs 738;" f +crSpring src/Dodge/Update.hs 746;" f crStratConMatches src/Dodge/Creature/Test.hs 72;" f crUpdate src/Dodge/Creature/State.hs 62;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 49;" f @@ -3780,7 +3778,7 @@ cylinderIndices src/Shader/Poke.hs 374;" f cylinderOnSeg src/Geometry.hs 125;" f cylinderPoly src/Shape.hs 86;" f cylinderRoundIndices src/Shader/Poke.hs 381;" f -dShadCol src/Dodge/Render/List.hs 187;" f +dShadCol src/Dodge/Render/List.hs 201;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f damToExpBarrel src/Dodge/Barreloid.hs 57;" f damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f @@ -3854,7 +3852,7 @@ defaultBounds src/Dodge/Data/Bounds.hs 20;" f defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f defaultBulletWeapon src/Dodge/Default/Item.hs 47;" f defaultButton src/Dodge/Default.hs 51;" f -defaultCOSection src/Dodge/Default/World.hs 207;" f +defaultCOSection src/Dodge/Default/World.hs 208;" f defaultCWCam src/Dodge/Default/World.hs 65;" f defaultCWGen src/Dodge/Default/World.hs 55;" f defaultCWorld src/Dodge/Default/World.hs 80;" f @@ -3878,7 +3876,7 @@ defaultDrawButton src/Dodge/Button/Draw.hs 28;" f defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f defaultEquipUse src/Dodge/Default/Item/Use.hs 23;" f defaultEquipment src/Dodge/Default.hs 27;" f -defaultFiltSection src/Dodge/Default/World.hs 213;" f +defaultFiltSection src/Dodge/Default/World.hs 214;" f defaultFlIt src/Dodge/Default.hs 30;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultHUD src/Dodge/Default/World.hs 151;" f @@ -3888,8 +3886,8 @@ defaultImpulsive src/Dodge/Humanoid.hs 190;" f defaultInanimate src/Dodge/Default/Creature.hs 69;" f defaultInput src/Dodge/Default/World.hs 14;" f defaultIntention src/Dodge/Default/Creature.hs 105;" f -defaultInvSection src/Dodge/Default/World.hs 220;" f -defaultInvSections src/Dodge/Default/World.hs 178;" f +defaultInvSection src/Dodge/Default/World.hs 221;" f +defaultInvSections src/Dodge/Default/World.hs 179;" f defaultInvSize src/Dodge/Default/Creature.hs 79;" f defaultItEffect src/Dodge/Default/Item.hs 55;" f defaultItEffect src/Dodge/Default/Item/Effect.hs 5;" f @@ -3908,8 +3906,8 @@ defaultPerceptionState src/Dodge/Default/Creature.hs 82;" f defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProximitySensor src/Dodge/Default.hs 80;" f defaultRoom src/Dodge/Default/Room.hs 9;" f -defaultSS src/Dodge/Default/World.hs 195;" f -defaultSSSExtra src/Dodge/Default/World.hs 172;" f +defaultSS src/Dodge/Default/World.hs 196;" f +defaultSSSExtra src/Dodge/Default/World.hs 173;" f defaultSelectionList src/Dodge/Default/SelectionList.hs 5;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f defaultState src/Dodge/Default/Creature.hs 140;" f @@ -3921,7 +3919,7 @@ defaultVision src/Dodge/Default/Creature.hs 92;" f defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f defaultWorld src/Dodge/Default/World.hs 32;" f -defaultYouSection src/Dodge/Default/World.hs 225;" f +defaultYouSection src/Dodge/Default/World.hs 226;" f defocusTerminalInput src/Dodge/Terminal/LeftButton.hs 20;" f degToRad src/Geometry/Vector.hs 117;" f deleteIMInZone src/Dodge/Base.hs 70;" f @@ -3946,7 +3944,7 @@ detV src/Geometry/Vector.hs 93;" f detectorColor src/Dodge/Item/Draw/SPic.hs 391;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorInfo src/Dodge/Item/Info.hs 190;" f -determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 54;" f +determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 58;" f determineProjectileTracking src/Dodge/HeldUse.hs 485;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diffAngles src/Geometry.hs 196;" f @@ -3963,8 +3961,8 @@ displayConfig src/Dodge/Menu.hs 196;" f displayControls src/Dodge/Menu.hs 206;" f displayFrameTicks src/Dodge/Render/Picture.hs 33;" f displayFreeSlots src/Dodge/DisplayInventory.hs 148;" f -displayTerminal src/Dodge/Render/HUD.hs 278;" f -displayTerminalLineString src/Dodge/Update.hs 414;" f +displayTerminal src/Dodge/Render/HUD.hs 283;" f +displayTerminalLineString src/Dodge/Update.hs 422;" f dist src/Geometry/Vector.hs 179;" f dist3 src/Geometry/Vector3D.hs 101;" f divTo src/Geometry/Zone.hs 6;" f @@ -4047,7 +4045,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 12;" f doWdWd src/Dodge/WorldEffect.hs 26;" f doWeaponRepetitions src/Dodge/HeldUse.hs 56;" f -doWorldEvents src/Dodge/Update.hs 396;" f +doWorldEvents src/Dodge/Update.hs 404;" f doWorldPos src/Dodge/WorldPos.hs 7;" f door src/Dodge/Room/Door.hs 13;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f @@ -4074,7 +4072,7 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCircFlare src/Dodge/Flare.hs 25;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f -drawCombineInventory src/Dodge/Render/HUD.hs 122;" f +drawCombineInventory src/Dodge/Render/HUD.hs 123;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f @@ -4082,16 +4080,16 @@ drawCreature src/Dodge/Render/ShapePicture.hs 82;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 165;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f -drawCursorAt src/Dodge/Render/List.hs 56;" f +drawCursorAt src/Dodge/Render/List.hs 59;" f drawDDATest src/Dodge/Debug/Picture.hs 256;" f -drawDIMouseOver src/Dodge/Render/HUD.hs 76;" f -drawDISelections src/Dodge/Render/HUD.hs 95;" f -drawDISelections' src/Dodge/Render/HUD.hs 104;" f +drawDIMouseOver src/Dodge/Render/HUD.hs 79;" f +drawDISelections src/Dodge/Render/HUD.hs 97;" f +drawDISelections' src/Dodge/Render/HUD.hs 106;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f -drawExamineInventory src/Dodge/Render/HUD.hs 130;" f +drawExamineInventory src/Dodge/Render/HUD.hs 132;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f @@ -4110,10 +4108,10 @@ drawLampCover src/Dodge/Prop/Draw.hs 44;" f drawLaser src/Dodge/Laser/Draw.hs 6;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f -drawList src/Dodge/Render/List.hs 181;" f -drawListElement src/Dodge/Render/List.hs 161;" f -drawListYgapScaleYoff src/Dodge/Render/List.hs 79;" f -drawListYoff src/Dodge/Render/List.hs 76;" f +drawList src/Dodge/Render/List.hs 195;" f +drawListElement src/Dodge/Render/List.hs 175;" f +drawListYgapScaleYoff src/Dodge/Render/List.hs 85;" f +drawListYoff src/Dodge/Render/List.hs 82;" f drawMachine src/Dodge/Machine/Draw.hs 14;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 53;" f @@ -4132,12 +4130,13 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawProp src/Dodge/Prop/Draw.hs 15;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f -drawRBOptions src/Dodge/Render/HUD.hs 178;" f +drawRBOptions src/Dodge/Render/HUD.hs 180;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f +drawSSCursor src/Dodge/SelectionSections/Draw.hs 26;" f drawSelectionCursor src/Dodge/Render/List.hs 41;" f drawSelectionList src/Dodge/Render/List.hs 29;" f -drawSelectionSections src/Dodge/SelectionSections/Draw.hs 10;" f +drawSelectionSections src/Dodge/SelectionSections/Draw.hs 13;" f drawSensor src/Dodge/Machine/Draw.hs 21;" f drawShader src/Shader.hs 27;" f drawShaderLay src/Shader.hs 16;" f @@ -4146,7 +4145,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f -drawSubInventory src/Dodge/Render/HUD.hs 114;" f +drawSubInventory src/Dodge/Render/HUD.hs 115;" f drawSweep src/Dodge/Render/ShapePicture.hs 63;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f @@ -4198,7 +4197,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f enterCombineInv src/Dodge/DisplayInventory.hs 243;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f -equipAllocString src/Dodge/Render/HUD.hs 221;" f +equipAllocString src/Dodge/Render/HUD.hs 223;" f equipInfo src/Dodge/Item/Info.hs 103;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f equipPosition src/Dodge/Item/Draw.hs 29;" f @@ -4290,7 +4289,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 165;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 167;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 165;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f @@ -4363,13 +4362,13 @@ getDamageCoding src/Dodge/Terminal.hs 175;" f getDistortions src/Dodge/Render.hs 382;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getItem src/Dodge/Item/Location.hs 15;" f -getLDPWidth src/Dodge/Render/List.hs 71;" f +getLDPWidth src/Dodge/Render/List.hs 77;" f getLaserColor src/Dodge/HeldUse.hs 196;" f getLaserDamage src/Dodge/HeldUse.hs 193;" f getLaserPhaseV src/Dodge/HeldUse.hs 190;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f -getMouseInvSel src/Dodge/Render/HUD.hs 83;" f -getMouseInvSel' src/Dodge/Render/HUD.hs 88;" f +getMouseInvSel src/Dodge/Render/HUD.hs 86;" f +getMouseInvSel' src/Dodge/Render/HUD.hs 91;" f getNodePos src/Dodge/Path.hs 31;" f getPretty src/AesonHelp.hs 7;" f getPrettyShort src/AesonHelp.hs 10;" f @@ -4556,9 +4555,10 @@ intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 181;" f +invCursorParams src/Dodge/ListDisplayParams.hs 40;" f invDimColor src/Dodge/DisplayInventory.hs 142;" f -invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f -invHead src/Dodge/Render/HUD.hs 314;" f +invDisplayParams src/Dodge/ListDisplayParams.hs 28;" f +invHead src/Dodge/Render/HUD.hs 319;" f invLDT src/Dodge/Item/Grammar.hs 165;" f invRootMap src/Dodge/Item/Grammar.hs 174;" f invRootTrees src/Dodge/Item/Grammar.hs 206;" f @@ -4569,8 +4569,8 @@ invSideEff src/Dodge/Creature/State.hs 162;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invTrees src/Dodge/Item/Grammar.hs 194;" f invTrees' src/Dodge/Item/Grammar.hs 198;" f -inventoryExtra src/Dodge/Render/HUD.hs 230;" f -inventoryExtraH src/Dodge/Render/HUD.hs 241;" f +inventoryExtra src/Dodge/Render/HUD.hs 232;" f +inventoryExtraH src/Dodge/Render/HUD.hs 243;" f inventoryX src/Dodge/Creature.hs 115;" f inverseSelBoundaryDown src/Dodge/SelectionSections.hs 210;" f inverseSelBoundaryUp src/Dodge/SelectionSections.hs 197;" f @@ -4726,7 +4726,7 @@ linksAndPath' src/Dodge/Room/Path.hs 44;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 7;" f listConfig src/Dodge/Menu.hs 199;" f listControls src/Dodge/Menu.hs 212;" f -listCursorChooseBorderScale src/Dodge/Render/List.hs 111;" f +listCursorChooseBorderScale src/Dodge/Render/List.hs 125;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 235;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f @@ -4734,7 +4734,7 @@ llleft src/Dodge/Item/Grammar.hs 105;" f llright src/Dodge/Item/Grammar.hs 108;" f lmt src/MatrixHelper.hs 43;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 303;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 308;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f @@ -4824,7 +4824,7 @@ makePathBetween src/Dodge/Path.hs 35;" f makePathBetweenPs src/Dodge/Path.hs 54;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 26;" f makeRect src/Grid.hs 82;" f -makeSelectionListPictures src/Dodge/Render/List.hs 50;" f +makeSelectionListPictures src/Dodge/Render/List.hs 53;" f makeShaderEBO src/Shader/Compile.hs 53;" f makeShaderProgram src/Shader/Compile.hs 241;" f makeShaderUsingVAO src/Shader/Compile.hs 146;" f @@ -4849,7 +4849,7 @@ makeTlsTimeRadColPos src/Dodge/LightSource.hs 88;" f makeTypeCraft src/Dodge/Item/Craftable.hs 13;" f makeTypeCraftNum src/Dodge/Item/Craftable.hs 7;" f mapOverlay src/Dodge/Render/HUD/Carte.hs 24;" f -markWallSeen src/Dodge/Update.hs 657;" f +markWallSeen src/Dodge/Update.hs 665;" f maxDamageType src/Dodge/Damage.hs 37;" f maxShowX src/Dodge/Combine/Graph.hs 43;" f maxViewDistance src/Dodge/Viewpoints.hs 26;" f @@ -4860,7 +4860,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f maybeClearPaths src/Dodge/Block.hs 74;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f -maybeExitCombine src/Dodge/Update/Input/InGame.hs 300;" f +maybeExitCombine src/Dodge/Update/Input/InGame.hs 301;" f maybeOpenTerminal src/Dodge/Update.hs 116;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 111;" f @@ -4981,7 +4981,7 @@ mvBullet src/Dodge/Bullet.hs 33;" f mvButton src/Dodge/Placement/PlaceSpot.hs 181;" f mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f mvFS src/Dodge/Placement/PlaceSpot.hs 194;" f -mvGust src/Dodge/Update.hs 686;" f +mvGust src/Dodge/Update.hs 694;" f mvLS src/Dodge/Placement/PlaceSpot.hs 222;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPP src/Dodge/Placement/PlaceSpot.hs 188;" f @@ -5036,7 +5036,7 @@ onRemoveWristShield src/Dodge/Euse.hs 92;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 97;" f openCursorAt src/Dodge/Render/HUD/Carte.hs 54;" f -optionListDisplayParams src/Dodge/ListDisplayParams.hs 67;" f +optionListDisplayParams src/Dodge/ListDisplayParams.hs 71;" f optionMenu src/Dodge/Menu.hs 105;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 50;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f @@ -5248,7 +5248,7 @@ powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f powlistUpToN'' src/Multiset.hs 31;" f ppDraw src/Dodge/Render/ShapePicture.hs 162;" f -ppEvents src/Dodge/Update.hs 649;" f +ppEvents src/Dodge/Update.hs 657;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f preCritStart src/Dodge/Room/Start.hs 82;" f preloadRender src/Preload/Render.hs 30;" f @@ -5397,7 +5397,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 15;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 24;" f renderLayer src/Render.hs 233;" f renderLightingNoShadows src/Render.hs 48;" f -renderListAt src/Dodge/Render/List.hs 166;" f +renderListAt src/Dodge/Render/List.hs 180;" f renderShadows src/Render.hs 117;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f @@ -5545,15 +5545,15 @@ seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 418;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 360;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 512;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f -secondColumnParams src/Dodge/ListDisplayParams.hs 42;" f +secondColumnParams src/Dodge/ListDisplayParams.hs 46;" f seedStartMenu src/Dodge/Menu.hs 79;" f seedStartOptions src/Dodge/Menu.hs 82;" f segOnCirc src/Geometry.hs 116;" f -selNumPos src/Dodge/Render/HUD.hs 374;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 396;" f -selSecDrawCursor src/Dodge/Render/List.hs 104;" f -selSecDrawCursorAt src/Dodge/Render/List.hs 88;" f -selSecSelCol src/Dodge/Render/HUD.hs 422;" f +selNumPos src/Dodge/Render/HUD.hs 379;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 402;" f +selSecDrawCursor src/Dodge/Render/List.hs 116;" f +selSecDrawCursorAt src/Dodge/Render/List.hs 94;" f +selSecSelCol src/Dodge/Render/HUD.hs 425;" f selSecSelSize src/Dodge/SelectionSections.hs 135;" f selSecYint src/Dodge/SelectionSections.hs 144;" f selectCreatureDebugItem src/Dodge/Debug.hs 38;" f @@ -5589,7 +5589,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f setMinInvSize src/Dodge/Creature/Action.hs 150;" f setMusicVolume src/Sound.hs 161;" f setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f -setOldPos src/Dodge/Update.hs 438;" f +setOldPos src/Dodge/Update.hs 446;" f setOutLinks src/Dodge/RoomLink.hs 48;" f setOutLinksByType src/Dodge/RoomLink.hs 57;" f setOutLinksPD src/Dodge/RoomLink.hs 77;" f @@ -5645,7 +5645,9 @@ shiftDec src/Dodge/Placement/PlaceSpot.hs 151;" f shiftDraw src/Dodge/Render/ShapePicture.hs 107;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 113;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f -shiftInvItems src/Dodge/Update.hs 344;" f +shiftInvItems src/Dodge/Update.hs 347;" f +shiftInvItemsDown src/Dodge/Update.hs 368;" f +shiftInvItemsUp src/Dodge/Update.hs 362;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f @@ -5695,7 +5697,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f shuffleRoomPos src/Dodge/Layout.hs 78;" f shuffleTail src/RandomHelp.hs 59;" f sigmoid src/Dodge/Base.hs 129;" f -simpleCrSprings src/Dodge/Update.hs 734;" f +simpleCrSprings src/Dodge/Update.hs 742;" f simpleDamFL src/Dodge/Flame.hs 41;" f simpleTermMessage src/Dodge/Terminal.hs 250;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 486;" f @@ -5792,13 +5794,13 @@ ssScrollMinOnFail src/Dodge/SelectionSections.hs 51;" f ssScrollUsing src/Dodge/SelectionSections.hs 39;" f ssSetCursor src/Dodge/SelectionSections.hs 66;" f ssfold src/FoldableHelp.hs 105;" f -stackPicturesAt src/Dodge/Render/List.hs 82;" f -stackPicturesAtOff src/Dodge/Render/List.hs 85;" f +stackPicturesAt src/Dodge/Render/List.hs 88;" f +stackPicturesAtOff src/Dodge/Render/List.hs 91;" f stackText src/Picture/Base.hs 188;" f stackedInventory src/Dodge/Creature.hs 282;" f startCr src/Dodge/Creature.hs 91;" f startCrafts src/Dodge/Room/Start.hs 92;" f -startDrag src/Dodge/Update.hs 335;" f +startDrag src/Dodge/Update.hs 336;" f startInvList src/Dodge/Creature.hs 109;" f startInventory src/Dodge/Creature.hs 112;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f @@ -5825,7 +5827,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 64;" f stringToList src/Picture/Base.hs 313;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f -subInvX src/Dodge/ListDisplayParams.hs 48;" f +subInvX src/Dodge/ListDisplayParams.hs 52;" f subMap src/TreeHelp.hs 118;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f @@ -5917,7 +5919,7 @@ titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f tlsTimeRadColPos src/Dodge/LightSource.hs 69;" f tlsTimeRadFunPos src/Dodge/LightSource.hs 26;" f -tmUpdate src/Dodge/Update.hs 418;" f +tmUpdate src/Dodge/Update.hs 426;" f toBothLnk src/Dodge/RoomLink.hs 121;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 148;" f @@ -5927,7 +5929,7 @@ toLabel src/Dodge/Cleat.hs 16;" f toLasgunUpdate src/Dodge/Item/Grammar.hs 113;" f toMultiset src/Multiset.hs 64;" f toOnward src/Dodge/Tree/Compose.hs 101;" f -toTopLeft src/Dodge/Render/List.hs 191;" f +toTopLeft src/Dodge/Render/List.hs 205;" f toV2 src/Geometry/Data.hs 36;" f toV3 src/Geometry/Data.hs 38;" f toV4 src/Geometry/Data.hs 40;" f @@ -5936,12 +5938,12 @@ toggleCommand src/Dodge/Terminal.hs 194;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 75;" f toggleJust src/MaybeHelp.hs 41;" f toggleMap src/Dodge/Update/Input/InGame.hs 271;" f -toggleTweakInv src/Dodge/Update/Input/InGame.hs 282;" f +toggleTweakInv src/Dodge/Update/Input/InGame.hs 283;" f togglesToEffects src/Dodge/Terminal.hs 245;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 460;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 430;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f -topInvW src/Dodge/ListDisplayParams.hs 51;" f +topInvW src/Dodge/ListDisplayParams.hs 55;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f topTestPart src/Dodge/TestString.hs 39;" f @@ -6007,7 +6009,7 @@ trunkDepth src/TreeHelp.hs 161;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryChargeBattery src/Dodge/Euse.hs 43;" f -tryCombine src/Dodge/Update/Input/InGame.hs 292;" f +tryCombine src/Dodge/Update/Input/InGame.hs 293;" f tryGetChannel src/Sound.hs 96;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 19;" f tryGetRootItemInvID src/Dodge/Inventory/Location.hs 28;" f @@ -6059,39 +6061,39 @@ updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBounds src/Dodge/Update/Camera.hs 245;" f updateBulVel src/Dodge/Bullet.hs 50;" f updateBullet src/Dodge/Bullet.hs 28;" f -updateBullets src/Dodge/Update.hs 515;" f +updateBullets src/Dodge/Update.hs 523;" f updateCamera src/Dodge/Update/Camera.hs 31;" f updateCloseObjects src/Dodge/Inventory.hs 114;" f -updateCloud src/Dodge/Update.hs 700;" f -updateClouds src/Dodge/Update.hs 544;" f +updateCloud src/Dodge/Update.hs 708;" f +updateClouds src/Dodge/Update.hs 552;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f updateCombineSections src/Dodge/DisplayInventory.hs 42;" f updateCreature src/Dodge/Creature/Update.hs 10;" f -updateCreatureGroups src/Dodge/Update.hs 484;" f -updateCreatureSoundPositions src/Dodge/Update.hs 460;" f +updateCreatureGroups src/Dodge/Update.hs 492;" f +updateCreatureSoundPositions src/Dodge/Update.hs 468;" f updateDebugMessageOffset src/Dodge/Update.hs 89;" f -updateDelayedEvents src/Dodge/Update.hs 763;" f +updateDelayedEvents src/Dodge/Update.hs 771;" f updateDisplaySections src/Dodge/DisplayInventory.hs 92;" f updateDistortion src/Dodge/Distortion.hs 5;" f -updateDistortions src/Dodge/Update.hs 505;" f +updateDistortions src/Dodge/Update.hs 513;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f -updateEnergyBalls src/Dodge/Update.hs 532;" f +updateEnergyBalls src/Dodge/Update.hs 540;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 220;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFlame src/Dodge/Flame.hs 71;" f -updateFlames src/Dodge/Update.hs 529;" f +updateFlames src/Dodge/Update.hs 537;" f updateFlare src/Dodge/Flare.hs 7;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f -updateGusts src/Dodge/Update.hs 683;" f +updateGusts src/Dodge/Update.hs 691;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f -updateIMl src/Dodge/Update.hs 474;" f -updateIMl' src/Dodge/Update.hs 479;" f +updateIMl src/Dodge/Update.hs 482;" f +updateIMl' src/Dodge/Update.hs 487;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 125;" f -updateInstantBullets src/Dodge/Update.hs 621;" f +updateInstantBullets src/Dodge/Update.hs 629;" f updateInv src/Dodge/Creature/State.hs 152;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f @@ -6100,21 +6102,21 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 119;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 108;" f updateLampoid src/Dodge/Lampoid.hs 12;" f updateLaser src/Dodge/Laser/Update.hs 13;" f -updateLasers src/Dodge/Update.hs 403;" f -updateLightSources src/Dodge/Update.hs 508;" f +updateLasers src/Dodge/Update.hs 411;" f +updateLightSources src/Dodge/Update.hs 516;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 145;" f -updateMIM src/Dodge/Update.hs 634;" f +updateMIM src/Dodge/Update.hs 642;" f updateMachine src/Dodge/Machine/Update.hs 16;" f -updateMouseInventorySelection src/Dodge/Update.hs 298;" f +updateMouseInventorySelection src/Dodge/Update.hs 299;" f updateMouseInventorySelection' src/Dodge/Update.hs 304;" f -updateMouseOverInventory src/Dodge/Update.hs 369;" f +updateMouseOverInventory src/Dodge/Update.hs 377;" f updateMovement src/Dodge/Creature/State.hs 331;" f -updateObjCatMaybes src/Dodge/Update.hs 496;" f -updateObjMapMaybe src/Dodge/Update.hs 489;" f -updatePastWorlds src/Dodge/Update.hs 391;" f +updateObjCatMaybes src/Dodge/Update.hs 504;" f +updateObjMapMaybe src/Dodge/Update.hs 497;" f +updatePastWorlds src/Dodge/Update.hs 399;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f -updatePosEvents src/Dodge/Update.hs 541;" f +updatePosEvents src/Dodge/Update.hs 549;" f updatePreload src/Preload/Update.hs 20;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 83;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 86;" f @@ -6122,9 +6124,9 @@ updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProp src/Dodge/Prop/Update.hs 11;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRadarBlip src/Dodge/RadarBlip.hs 8;" f -updateRadarBlips src/Dodge/Update.hs 511;" f +updateRadarBlips src/Dodge/Update.hs 519;" f updateRadarSweep src/Dodge/RadarSweep.hs 25;" f -updateRadarSweeps src/Dodge/Update.hs 535;" f +updateRadarSweeps src/Dodge/Update.hs 543;" f updateRandNode src/TreeHelp.hs 108;" f updateRenderSplit appDodge/Main.hs 106;" f updateRootItemID src/Dodge/Inventory/Location.hs 36;" f @@ -6133,19 +6135,19 @@ updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 175;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 154;" f -updateSeenWalls src/Dodge/Update.hs 652;" f +updateSeenWalls src/Dodge/Update.hs 660;" f updateShockwave src/Dodge/Shockwave/Update.hs 12;" f -updateShockwaves src/Dodge/Update.hs 526;" f +updateShockwaves src/Dodge/Update.hs 534;" f updateSingleNodes src/TreeHelp.hs 97;" f updateSound src/Sound.hs 71;" f updateSounds src/Sound.hs 66;" f updateSpark src/Dodge/Spark.hs 19;" f -updateSparks src/Dodge/Update.hs 538;" f +updateSparks src/Dodge/Update.hs 546;" f updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f updateTeslaArc src/Dodge/Tesla/Arc.hs 29;" f -updateTeslaArcs src/Dodge/Update.hs 520;" f +updateTeslaArcs src/Dodge/Update.hs 528;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 523;" f +updateTractorBeams src/Dodge/Update.hs 531;" f updateTurret src/Dodge/Machine/Update.hs 31;" f updateUniverse src/Dodge/Update.hs 69;" f updateUniverseFirst src/Dodge/Update.hs 80;" f @@ -6156,7 +6158,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 20;" f updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f -updateWheelEvents src/Dodge/Update.hs 378;" f +updateWheelEvents src/Dodge/Update.hs 386;" f updateWorldEventFlag src/Dodge/Update.hs 110;" f updateWorldEventFlags src/Dodge/Update.hs 101;" f upperBody src/Dodge/Creature/Picture.hs 133;" f @@ -6309,7 +6311,7 @@ yV2 src/Geometry/Vector.hs 203;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 18;" f youDropItem src/Dodge/Creature/Action.hs 184;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 172;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 174;" f yourControl src/Dodge/Creature/YourControl.hs 22;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f @@ -6326,9 +6328,9 @@ zipCount src/Dodge/Tree/Shift.hs 129;" f zipCountDown src/Dodge/Room/Procedural.hs 118;" f zipWithDefaults src/Dodge/Item/Display.hs 21;" f zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f -zoneClouds src/Dodge/Update.hs 411;" f +zoneClouds src/Dodge/Update.hs 419;" f zoneCreature src/Dodge/Zoning/Creature.hs 52;" f -zoneCreatures src/Dodge/Update.hs 455;" f +zoneCreatures src/Dodge/Update.hs 463;" f zoneExtract src/Dodge/Zoning/Base.hs 50;" f zoneMonoid src/Dodge/Zoning/Base.hs 80;" f zoneOfCirc src/Dodge/Zoning/Base.hs 22;" f