Allow scrolling within a larger selection to not remove larger selection

This commit is contained in:
2024-11-25 17:20:09 +00:00
parent 83bcf3c0f7
commit 669f9667f1
16 changed files with 233 additions and 200 deletions
+1 -1
View File
@@ -1 +1 @@
All good (594 modules, at 16:25:03) All good (594 modules, at 17:16:08)
+4 -3
View File
@@ -5,6 +5,7 @@
module Dodge.Data.HUD where module Dodge.Data.HUD where
import qualified Data.IntSet as IS
import Dodge.Data.Item.Location import Dodge.Data.Item.Location
import NewInt import NewInt
import Control.Lens import Control.Lens
@@ -18,10 +19,10 @@ data HUDElement
= DisplayInventory = DisplayInventory
{ _subInventory :: SubInventory { _subInventory :: SubInventory
, _diSections :: IMSS () , _diSections :: IMSS ()
, _diSelection :: Maybe (Int, Int) , _diSelection :: Maybe (Int, Int, IntSet)
, _diInvFilter :: Maybe String , _diInvFilter :: Maybe String
, _diCloseFilter :: Maybe String , _diCloseFilter :: Maybe String
, _diSelectionExtra :: IntSet -- this should probably be placed within _diSelection -- , _diSelectionExtra :: IntSet -- this should probably be placed within _diSelection
-- would lead to inconsistency with _ciSelection -- would lead to inconsistency with _ciSelection
} }
| DisplayCarte | DisplayCarte
@@ -39,7 +40,7 @@ data SubInventory
ExamineInventory ExamineInventory
| CombineInventory | CombineInventory
{ _ciSections :: IntMap (SelectionSection CombinableItem) { _ciSections :: IntMap (SelectionSection CombinableItem)
, _ciSelection :: Maybe (Int, Int) , _ciSelection :: Maybe (Int, Int, IS.IntSet)
, _ciFilter :: Maybe String , _ciFilter :: Maybe String
} }
| LockedInventory | LockedInventory
+2 -2
View File
@@ -165,8 +165,8 @@ defaultDisplayInventory =
DisplayInventory DisplayInventory
{ _subInventory = NoSubInventory { _subInventory = NoSubInventory
, _diSections = mempty , _diSections = mempty
, _diSelection = Just (1, 0) , _diSelection = Just (1, 0, mempty)
, _diSelectionExtra = mempty -- , _diSelectionExtra = mempty
, _diInvFilter = mempty , _diInvFilter = mempty
, _diCloseFilter = mempty , _diCloseFilter = mempty
} }
+7 -7
View File
@@ -52,7 +52,7 @@ updateCombineSections w cfig =
updateSectionsPositioning updateSectionsPositioning
(const 5) (const 5)
(const 0) (const 0)
(w ^? hud . hudElement . subInventory . ciSelection . _Just) (fmap (\(x,y,_) -> (x,y)) $ w ^? hud . hudElement . subInventory . ciSelection . _Just)
(getAvailableListLines secondColumnParams cfig) (getAvailableListLines secondColumnParams cfig)
[(0, sclose), (-1, sfclose)] [(0, sclose), (-1, sfclose)]
where where
@@ -93,7 +93,7 @@ updateInventoryPositioning u =
-- this is possibly not completely correct -- this is possibly not completely correct
checkInventorySelectionExists :: Universe -> Universe checkInventorySelectionExists :: Universe -> Universe
checkInventorySelectionExists u = fromMaybe u $ do checkInventorySelectionExists u = fromMaybe u $ do
(i, j) <- (u ^? uvWorld . hud . hudElement . diSelection . _Just) <|> Just (0, -1) (i, j,_) <- (u ^? uvWorld . hud . hudElement . diSelection . _Just) <|> Just (0, -1, mempty)
Just $ case u ^? uvWorld . hud . hudElement . diSections . ix i . ssItems . ix j of Just $ case u ^? uvWorld . hud . hudElement . diSections . ix i . ssItems . ix j of
Nothing -> u & uvWorld %~ scrollAugNextInSection Nothing -> u & uvWorld %~ scrollAugNextInSection
_ -> u _ -> u
@@ -101,12 +101,12 @@ checkInventorySelectionExists u = fromMaybe u $ do
checkCombineSelectionExists :: Universe -> Universe checkCombineSelectionExists :: Universe -> Universe
checkCombineSelectionExists u = fromMaybe u $ do checkCombineSelectionExists u = fromMaybe u $ do
sss <- u ^? uvWorld . hud . hudElement . subInventory . ciSections sss <- u ^? uvWorld . hud . hudElement . subInventory . ciSections
(i, j) <- (i, j, _) <-
u ^? uvWorld . hud . hudElement . subInventory . ciSelection . _Just u ^? uvWorld . hud . hudElement . subInventory . ciSelection . _Just
<|> Just (0, 0) <|> Just (0, 0, mempty)
Just $ case u ^? uvWorld . hud . hudElement . subInventory . ciSections . ix i . ssItems . ix j of Just $ case u ^? uvWorld . hud . hudElement . subInventory . ciSections . ix i . ssItems . ix j of
Nothing -> Nothing ->
u & uvWorld . hud . hudElement . subInventory . ciSelection ?~ (0, -1) u & uvWorld . hud . hudElement . subInventory . ciSelection ?~ (0, -1,mempty)
& uvWorld . hud . hudElement . subInventory . ciSelection & uvWorld . hud . hudElement . subInventory . ciSelection
%~ scrollSelectionSections (-1) sss %~ scrollSelectionSections (-1) sss
_ -> u _ -> u
@@ -137,7 +137,7 @@ updateDisplaySections w cfig =
[statushead,statusdisplay,invhead,invx,youx, nearbyhead, closex [statushead,statusdisplay,invhead,invx,youx, nearbyhead, closex
,interfaceshead,interfaces] ,interfaceshead,interfaces]
where where
mselpos = w ^? hud . hudElement . diSelection . _Just mselpos = fmap (\(x,y,_) -> (x,y)) $ w ^? hud . hudElement . diSelection . _Just
invfiltcurs = mselpos ^? _Just . _1 == Just (-1) invfiltcurs = mselpos ^? _Just . _1 == Just (-1)
(sfinv, sinv) = (sfinv, sinv) =
filterSectionsPair invfiltcurs plainRegex invitems "INVENTORY" $ filterSectionsPair invfiltcurs plainRegex invitems "INVENTORY" $
@@ -356,7 +356,7 @@ enterCombineInv cfig w =
| otherwise = cm' | otherwise = cm'
selpos selpos
| null cm' = Nothing | null cm' = Nothing
| otherwise = Just (0, 0) | otherwise = Just (0, 0,mempty)
filtsection = filtsection =
SelectionSection SelectionSection
{ _ssItems = mempty { _ssItems = mempty
+5 -5
View File
@@ -59,12 +59,12 @@ inputFocus ::
World -> World ->
Maybe ((String -> f String) -> World -> f World) Maybe ((String -> f String) -> World -> f World)
inputFocus w = case w ^? hud . hudElement . subInventory of inputFocus w = case w ^? hud . hudElement . subInventory of
Just NoSubInventory{} -> case he ^? diSelection . _Just of Just NoSubInventory{} -> case he ^? diSelection . _Just . _1 of
Just (-1, _) -> Just $ hud . hudElement . diInvFilter . _Just Just (-1) -> Just $ hud . hudElement . diInvFilter . _Just
Just (2, _) -> Just $ hud . hudElement . diCloseFilter . _Just Just 2 -> Just $ hud . hudElement . diCloseFilter . _Just
_ -> Nothing _ -> Nothing
Just CombineInventory{} -> case he ^? subInventory . ciSelection . _Just of Just CombineInventory{} -> case he ^? subInventory . ciSelection . _Just . _1 of
Just (-1, _) -> Just $ hud . hudElement . subInventory . ciFilter . _Just Just (-1) -> Just $ hud . hudElement . subInventory . ciFilter . _Just
_ -> Nothing _ -> Nothing
Just DisplayTerminal{_termID = tmid} -> do Just DisplayTerminal{_termID = tmid} -> do
connectionstatus <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus connectionstatus <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus
+8 -7
View File
@@ -16,6 +16,7 @@ module Dodge.Inventory (
swapItemWith, swapItemWith,
) where ) where
import qualified Data.IntSet as IS
import Dodge.Inventory.Swap import Dodge.Inventory.Swap
import Data.Function import Data.Function
import Data.Maybe import Data.Maybe
@@ -78,7 +79,7 @@ rmInvItem cid invid w =
where where
pointcid = cWorld . lWorld . creatures . ix cid pointcid = cWorld . lWorld . creatures . ix cid
updateselectionextra updateselectionextra
| cid == 0 = hud . hudElement . diSelectionExtra .~ mempty | cid == 0 = hud . hudElement . diSelection . _Just . _3 %~ const mempty
| otherwise = id | otherwise = id
updateselection updateselection
| cid == 0 && cr ^? crManipulation . manObject . imSelectedItem == Just invid = | cid == 0 && cr ^? crManipulation . manObject . imSelectedItem == Just invid =
@@ -183,15 +184,15 @@ swapItemWith f (j, i) w = case j of
changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World changeSwapWith :: (Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) -> World -> World
changeSwapWith f w = case w ^? hud . hudElement . diSelection . _Just of changeSwapWith f w = case w ^? hud . hudElement . diSelection . _Just of
Just (0, i) -> w & swapInvItems f i Just (0, i, _) -> w & swapInvItems f i
Just (3, i) -> w & changeSwapOther ispCloseItem 3 f i Just (3, i, _) -> w & changeSwapOther ispCloseItem 3 f i
Just (5, i) -> w & changeSwapOther ispCloseButton 5 f i Just (5, i, _) -> w & changeSwapOther ispCloseButton 5 f i
_ -> w _ -> w
augInvDirectSelect :: (Int, Int) -> World -> World augInvDirectSelect :: (Int, Int, IS.IntSet) -> World -> World
augInvDirectSelect (i, j) w = augInvDirectSelect sel w =
w w
& hud . hudElement . diSelection ?~ (i, j) & hud . hudElement . diSelection ?~ sel
& worldEventFlags . at InventoryChange ?~ () & worldEventFlags . at InventoryChange ?~ ()
& setInvPosFromSS & setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0 & cWorld . lWorld %~ crUpdateItemLocations 0
+2 -1
View File
@@ -59,7 +59,8 @@ tryPutItemInInv cid flit w = case maybeInvSlot of
& cWorld . lWorld %~ crUpdateItemLocations cid & cWorld . lWorld %~ crUpdateItemLocations cid
) )
where where
updateselectionextra | cid == 0 = hud . hudElement . diSelectionExtra .~ mempty updateselectionextra | cid == 0
= hud . hudElement . diSelection . _Just . _3 %~ const mempty
| otherwise = id | otherwise = id
it = _flIt flit it = _flIt flit
maybeInvSlot = checkInvSlotsYou it w maybeInvSlot = checkInvSlotsYou it w
+1 -1
View File
@@ -83,7 +83,7 @@ setInvPosFromSS w =
& cWorld . lWorld . creatures . ix 0 . crManipulation . manObject .~ thesel & cWorld . lWorld . creatures . ix 0 . crManipulation . manObject .~ thesel
where where
thesel = fromMaybe SelNothing $ do thesel = fromMaybe SelNothing $ do
(i, j) <- w ^? hud . hudElement . diSelection . _Just (i, j, _) <- w ^? hud . hudElement . diSelection . _Just
case i of case i of
(-1) -> Just SortInventory (-1) -> Just SortInventory
0 -> do 0 -> do
+4 -4
View File
@@ -27,8 +27,8 @@ swapInvItems f i w = fromMaybe w $ do
ss <- w ^? hud . hudElement . diSections . ix 0 . ssItems ss <- w ^? hud . hudElement . diSections . ix 0 . ssItems
k <- f i ss k <- f i ss
let updateselection = case w ^? hud . hudElement . diSelection . _Just of let updateselection = case w ^? hud . hudElement . diSelection . _Just of
Just (0, j) | j == k -> hud . hudElement . diSelection . _Just . _2 .~ i Just (0, j,_) | j == k -> hud . hudElement . diSelection . _Just . _2 .~ i
Just (0, j) | j == i -> hud . hudElement . diSelection . _Just . _2 .~ k Just (0, j,_) | j == i -> hud . hudElement . diSelection . _Just . _2 .~ k
_ -> id _ -> id
return $ return $
w w
@@ -71,11 +71,11 @@ swapInvItems f i w = fromMaybe w $ do
swapAnyExtraSelection :: Int -> Int -> World -> World swapAnyExtraSelection :: Int -> Int -> World -> World
swapAnyExtraSelection i k w = fromMaybe w $ do swapAnyExtraSelection i k w = fromMaybe w $ do
is <- w ^? hud . hudElement . diSelectionExtra is <- w ^? hud . hudElement . diSelection . _Just . _3
let f = if i `IS.member` is then IS.insert k else id let f = if i `IS.member` is then IS.insert k else id
g = if k `IS.member` is then IS.insert i else id g = if k `IS.member` is then IS.insert i else id
return $ return $
w & hud . hudElement . diSelectionExtra w & hud . hudElement . diSelection . _Just . _3
%~ (f . g . IS.delete i . IS.delete k) %~ (f . g . IS.delete i . IS.delete k)
checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World
+8 -6
View File
@@ -54,11 +54,12 @@ drawHUD cfig w = case w ^. hud . hudElement of
drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Configuration -> Picture drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Configuration -> Picture
drawInventory sss w cfig = drawInventory sss w cfig =
drawSelectionSections sss ldp cfig drawSelectionSections sss ldp cfig
<> drawSSCursor sss (w ^? hud . hudElement . diSelection . _Just) ldp curs cfig <> drawSSCursor sss (f $ w ^? hud . hudElement . diSelection . _Just) ldp curs cfig
<> drawRootCursor w sss (w ^? hud . hudElement . diSelection . _Just) ldp cfig <> drawRootCursor w sss (f $ w ^? hud . hudElement . diSelection . _Just) ldp cfig
<> iextra <> iextra
<> drawMouseOver cfig w <> drawMouseOver cfig w
where where
f = fmap (\(x,y,_) -> (x,y))
ldp = invDisplayParams w ldp = invDisplayParams w
curs = invCursorParams w curs = invCursorParams w
iextra = fromMaybe mempty $ do iextra = fromMaybe mempty $ do
@@ -129,9 +130,9 @@ drawMouseOver cfig w =
drawDragSelected :: Configuration -> World -> Maybe Picture drawDragSelected :: Configuration -> World -> Maybe Picture
drawDragSelected cfig w = do drawDragSelected cfig w = do
ys <- w ^? hud . hudElement . diSelectionExtra ys <- w ^? hud . hudElement . diSelection . _Just . _3
guard $ not (IS.null ys) guard $ not (IS.null ys)
(i, _) <- w ^? hud . hudElement . diSelection . _Just (i, _, _) <- w ^? hud . hudElement . diSelection . _Just
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w let idp = invDisplayParams w
let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>) let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>)
@@ -173,7 +174,8 @@ drawCombineInventory cfig sss w =
<> combineInventoryExtra sss msel cfig w <> combineInventoryExtra sss msel cfig w
where where
curs = BoundaryCursor [North, South, West] curs = BoundaryCursor [North, South, West]
msel = w ^? hud . hudElement . subInventory . ciSelection . _Just msel = fmap (\(x,y,_) -> (x,y))
$ w ^? hud . hudElement . subInventory . ciSelection . _Just
drawExamineInventory :: Configuration -> World -> Picture drawExamineInventory :: Configuration -> World -> Picture
drawExamineInventory cfig w = drawExamineInventory cfig w =
@@ -238,7 +240,7 @@ drawRBOptions cfig w = fromMaybe mempty $ do
i <- w ^? rbOptions . opSel i <- w ^? rbOptions . opSel
let ae = getEquipmentAllocation w let ae = getEquipmentAllocation w
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
(i', j) <- w ^? hud . hudElement . diSelection . _Just (i', j,_) <- w ^? hud . hudElement . diSelection . _Just
curpos <- selSecYint i' j sss curpos <- selSecYint i' j sss
let ytext = drawListElement 0 1 0 curpos . text let ytext = drawListElement 0 1 0 curpos . text
midstr = equipAllocString ae midstr = equipAllocString ae
+22 -13
View File
@@ -10,6 +10,7 @@ module Dodge.SelectionSections (
inverseSelNumPos, inverseSelNumPos,
) where ) where
import qualified Data.IntSet as IS
import Control.Applicative import Control.Applicative
import qualified Control.Foldl as L import qualified Control.Foldl as L
import Control.Lens import Control.Lens
@@ -25,8 +26,8 @@ import Geometry.Data
scrollSelectionSections :: scrollSelectionSections ::
Int -> Int ->
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int,IS.IntSet) ->
Maybe (Int, Int) Maybe (Int, Int,IS.IntSet)
scrollSelectionSections yi sss msel scrollSelectionSections yi sss msel
| yi == 0 = msel | yi == 0 = msel
| yi > 0 = foldl' (&) msel $ replicate yi (ssScrollUsing ssLookupUp sss) | yi > 0 = foldl' (&) msel $ replicate yi (ssScrollUsing ssLookupUp sss)
@@ -34,8 +35,8 @@ scrollSelectionSections yi sss msel
nextInSectionSS :: nextInSectionSS ::
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int, IS.IntSet) ->
Maybe (Int, Int) Maybe (Int, Int, IS.IntSet)
nextInSectionSS = ssScrollUsing ssLookupNextMax nextInSectionSS = ssScrollUsing ssLookupNextMax
--setFirstPosSelectionSections :: SelectionSections a -> SelectionSections a --setFirstPosSelectionSections :: SelectionSections a -> SelectionSections a
@@ -46,8 +47,8 @@ nextInSectionSS = ssScrollUsing ssLookupNextMax
ssScrollUsing :: ssScrollUsing ::
(Int -> Int -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) -> (Int -> Int -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) ->
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int, IS.IntSet) ->
Maybe (Int, Int) Maybe (Int, Int, IS.IntSet)
ssScrollUsing g = ssScrollUsing g =
ssScrollMinOnFail ssScrollMinOnFail
g g
@@ -56,22 +57,30 @@ ssScrollUsing g =
ssScrollMinOnFail :: ssScrollMinOnFail ::
(Int -> Int -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) -> (Int -> Int -> IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) ->
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int, IS.IntSet) ->
Maybe (Int, Int) Maybe (Int, Int, IS.IntSet)
ssScrollMinOnFail f sss msel = fmap (\(i, j, _) -> (i, j)) $ l <|> ssLookupMin sss ssScrollMinOnFail f sss msel = fmap (\(i, j, _) -> (i, j, q i j)) $ l <|> ssLookupMin sss
where where
q i j = fromMaybe mempty $ do
(k,_,xs) <- msel ^? _Just
guard $ j `IS.member` xs && i == k
return xs
l = do l = do
(i, j) <- msel (i, j, _) <- msel
f i j sss f i j sss
ssSetCursor :: ssSetCursor ::
(IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) -> (IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)) ->
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int, IS.IntSet) ->
Maybe (Int, Int) Maybe (Int, Int, IS.IntSet)
ssSetCursor f sss msel = fromMaybe msel $ do ssSetCursor f sss msel = fromMaybe msel $ do
(i, j, _) <- f sss (i, j, _) <- f sss
return $ Just (i, j) let newxs = fromMaybe mempty $ do
(k,_,xs) <- msel
guard $ k == i && j `IS.member` xs
return xs
return $ Just (i, j,newxs)
ssLookupMax :: IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a) ssLookupMax :: IM.IntMap (SelectionSection a) -> Maybe (Int, Int, SelectionItem a)
ssLookupMax sss = do ssLookupMax sss = do
-1
View File
@@ -24,7 +24,6 @@ testStringInit :: Universe -> [String]
testStringInit u = testStringInit u =
[ show $ u ^? uvWorld . input . mouseContext . mcoSelEnd [ show $ u ^? uvWorld . input . mouseContext . mcoSelEnd
, show $ u ^? uvWorld . hud . hudElement . diSelection , show $ u ^? uvWorld . hud . hudElement . diSelection
, show $ u ^? uvWorld . hud . hudElement . diSelectionExtra
] ]
-- , show . fmap (fmap _siPictures) $ u ^? uvWorld . hud . hudElement . diSections . ix (-1) . ssItems -- , show . fmap (fmap _siPictures) $ u ^? uvWorld . hud . hudElement . diSections . ix (-1) . ssItems
-- <> [[toEnum (i+j * 32) | i <- [0..31]] | j <- [0..7]] -- <> [[toEnum (i+j * 32) | i <- [0..31]] | j <- [0..7]]
+2 -1
View File
@@ -360,7 +360,8 @@ updateMouseContext cfig u = case u ^. uvWorld . input . mouseContext of
return $ OverInvSelect selpos return $ OverInvSelect selpos
overcomb = do overcomb = do
sss <- w ^? hud . hudElement . subInventory . ciSections sss <- w ^? hud . hudElement . subInventory . ciSections
msel <- w ^? hud . hudElement . subInventory . ciSelection . _Just (xl,xr,_) <- w ^? hud . hudElement . subInventory . ciSelection . _Just
let msel = (xl,xr)
let mpossel = inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos) let mpossel = inverseSelNumPos cfig secondColumnParams sss (w ^. input . mousePos)
return $ case mpossel of return $ case mpossel of
Nothing -> OverCombEscape Nothing -> OverCombEscape
+51 -31
View File
@@ -97,7 +97,7 @@ updateMouseHeldInGame cfig w = case w ^. input . mouseContext of
OverInvDrag k mmouseover ab bn -> fromMaybe w $ do OverInvDrag k mmouseover ab bn -> fromMaybe w $ do
ss <- w ^? hud . hudElement . diSections . ix k . ssItems ss <- w ^? hud . hudElement . diSections . ix k . ssItems
x <- mmouseover x <- mmouseover
is <- w ^? hud . hudElement . diSelectionExtra is <- w ^? hud . hudElement . diSelection . _Just . _3
return $ if concurrentIS is return $ if concurrentIS is
then shiftInvItems k x ab bn is ss w then shiftInvItems k x ab bn is ss w
else collectInvItems k is w else collectInvItems k is w
@@ -109,8 +109,8 @@ tryDropSelected :: Maybe (Int,Int) -> World -> Maybe World
tryDropSelected mpos w = do tryDropSelected mpos w = do
guard $ maybe True (\(i,_) -> i == 3) mpos guard $ maybe True (\(i,_) -> i == 3) mpos
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
(0, _) <- w ^? hud . hudElement . diSelection . _Just (0, _, xs) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra -- xs <- w ^? hud . hudElement . diSelection . _Just . _3
return . foldl' (flip $ dropItem cr) w . IS.toDescList $ xs return . foldl' (flip $ dropItem cr) w . IS.toDescList $ xs
tryPickupSelected :: Int -> Maybe (Int,Int) -> World -> Maybe World tryPickupSelected :: Int -> Maybe (Int,Int) -> World -> Maybe World
@@ -119,17 +119,16 @@ tryPickupSelected k mpos w = do
guard $ maybe True (\(i,_) -> i == 0) mpos guard $ maybe True (\(i,_) -> i == 0) mpos
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
let nfreeslots = crNumFreeSlots cr let nfreeslots = crNumFreeSlots cr
xs <- w ^? hud . hudElement . diSelectionExtra xs <- w ^? hud . hudElement . diSelection . _Just . _3
let itmstopickup = mapMaybe g $ IS.toList xs let itmstopickup = mapMaybe g $ IS.toList xs
let slotsneeded = alaf Sum foldMap (_itInvSize . _flIt) itmstopickup let slotsneeded = alaf Sum foldMap (_itInvSize . _flIt) itmstopickup
guard $ nfreeslots >= slotsneeded guard $ nfreeslots >= slotsneeded
return $ case mpos of return $ case mpos of
Nothing -> foldl' (flip $ pickUpItem 0) w itmstopickup Nothing -> foldl' (flip $ pickUpItem 0) w itmstopickup
& hud . hudElement . diSelectionExtra .~ mempty & hud . hudElement . diSelection . _Just . _3 %~ const mempty
Just (_,j) -> foldr (pickUpItemAt j 0) w itmstopickup Just (_,j) -> foldr (pickUpItemAt j 0) w itmstopickup
& hud . hudElement . diSelection ?~ (0,j) & hud . hudElement . diSelection ?~ (0,j
& hud . hudElement . diSelectionExtra , IS.fromDistinctAscList [j..j+IS.size xs-1])
.~ IS.fromDistinctAscList [j..j+IS.size xs-1]
where where
g i = do g i = do
NInt j <- w ^? hud . closeItems . ix i NInt j <- w ^? hud . closeItems . ix i
@@ -142,14 +141,15 @@ updateMouseReleaseInGame w = case w ^. input . mouseContext of
fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w fromMaybe w $ tryDropSelected mpos w <|> tryPickupSelected k mpos w
OverInvDragSelect _ Nothing -> OverInvDragSelect _ Nothing ->
w & input . mouseContext .~ MouseInGame w & input . mouseContext .~ MouseInGame
& hud . hudElement . diSelectionExtra .~ mempty & hud . hudElement . diSelection . _Just . _3 %~ const mempty
OverInvDragSelect ssel (Just esel) -> OverInvDragSelect ssel (Just esel) ->
w & input . mouseContext .~ MouseInGame w & input . mouseContext .~ MouseInGame
& hud . hudElement . diSelectionExtra -- & hud . hudElement . diSelectionExtra
.~ h ssel (snd esel) -- IM.keysSet [min (snd ssel) (snd esel) + 1 .. max (snd ssel) (snd esel)] -- .~ h ssel (snd esel) -- IM.keysSet [min (snd ssel) (snd esel) + 1 .. max (snd ssel) (snd esel)]
& augInvDirectSelect (min ssel esel) & augInvDirectSelect (f (min ssel esel) (h ssel (snd esel)))
_ -> w _ -> w
where where
f (x,y) z = (x,y,z)
h (k,i) j = fold $ do h (k,i) j = fold $ do
sss <- w ^? hud . hudElement . diSections . ix k . ssItems sss <- w ^? hud . hudElement . diSections . ix k . ssItems
let (_, xss) = IM.split (min i j -1) sss let (_, xss) = IM.split (min i j -1) sss
@@ -170,7 +170,7 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of
w w
& hud . hudElement . subInventory .~ NoSubInventory --MouseInvNothing & hud . hudElement . subInventory .~ NoSubInventory --MouseInvNothing
OverCombSelect x -> OverCombSelect x ->
w & hud . hudElement . subInventory . ciSelection ?~ x w & hud . hudElement . subInventory . ciSelection ?~ f x
& worldEventFlags . at CombineInventoryChange ?~ () & worldEventFlags . at CombineInventoryChange ?~ ()
OverCombFilter -> OverCombFilter ->
w & hud . hudElement . subInventory . ciFilter .~ Nothing w & hud . hudElement . subInventory . ciFilter .~ Nothing
@@ -202,18 +202,20 @@ updateMouseClickInGame cfig w = case w ^. input . mouseContext of
where where
ldp = invDisplayParams w ldp = invDisplayParams w
mpos = w ^. input . mousePos mpos = w ^. input . mousePos
f (x,y) = (x,y,mempty)
startDrag :: (Int, Int) -> Configuration -> World -> World startDrag :: (Int, Int) -> Configuration -> World -> World
startDrag (a, b) cfig w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do startDrag (a, b) cfig w = setcontext . fromMaybe (augInvDirectSelect (a, b, IS.singleton b) w) $ do
(i, _) <- w ^? hud . hudElement . diSelection . _Just (i, _, xs) <- w ^? hud . hudElement . diSelection . _Just
xs <- w ^? hud . hudElement . diSelectionExtra
guard $ i == a && b `IS.member` xs guard $ i == a && b `IS.member` xs
return $ setmichosen xs w --return $ setmichosen xs w
return w
where where
setmichosen :: IS.IntSet -> World -> World -- setmichosen :: IS.IntSet -> World -> World
setmichosen x = -- setmichosen x =
(input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath) -- (input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath)
. (hud . hudElement . diSelectionExtra .~ IS.insert b x) -- . (hud . hudElement . diSelectionExtra .~ IS.insert b x)
setcontext = (input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath)
above :: Maybe (Int,Int) above :: Maybe (Int,Int)
above = do above = do
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
@@ -223,6 +225,25 @@ startDrag (a, b) cfig w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mem
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
inverseSelSecYint (yint + 1) sss inverseSelSecYint (yint + 1) sss
yint = posSelSecYint cfig (invDisplayParams w) (w ^. input . mousePos . _y) yint = posSelSecYint cfig (invDisplayParams w) (w ^. input . mousePos . _y)
--startDrag (a, b) cfig w = fromMaybe (augInvDirectSelect (a, b) $ setmichosen mempty w) $ do
-- (i, _, xs) <- w ^? hud . hudElement . diSelection . _Just
---- xs <- w ^? hud . hudElement . diSelectionExtra
-- guard $ i == a && b `IS.member` xs
-- return $ setmichosen xs w
-- where
-- setmichosen :: IS.IntSet -> World -> World
-- setmichosen x =
-- (input . mouseContext .~ OverInvDrag a (Just (a, b)) above bneath)
-- . (hud . hudElement . diSelectionExtra .~ IS.insert b x)
-- above :: Maybe (Int,Int)
-- above = do
-- sss <- w ^? hud . hudElement . diSections
-- inverseSelSecYint (yint - 1) sss
-- bneath :: Maybe (Int,Int)
-- bneath = do
-- sss <- w ^? hud . hudElement . diSections
-- inverseSelSecYint (yint + 1) sss
-- yint = posSelSecYint cfig (invDisplayParams w) (w ^. input . mousePos . _y)
concurrentIS :: IS.IntSet -> Bool concurrentIS :: IS.IntSet -> Bool
concurrentIS = go . IS.minView concurrentIS = go . IS.minView
@@ -367,9 +388,9 @@ doRegexInput ::
Input -> Input ->
Int -> Int ->
IM.IntMap (SelectionSection a) -> IM.IntMap (SelectionSection a) ->
Maybe (Int, Int) -> Maybe (Int, Int, IS.IntSet) ->
Maybe String -> Maybe String ->
(IM.IntMap (SelectionSection a), Maybe (Int, Int), Maybe String) (IM.IntMap (SelectionSection a), Maybe (Int, Int, IS.IntSet), Maybe String)
doRegexInput inp i sss msel filts doRegexInput inp i sss msel filts
| backspacetonothing || escapekey = endregex i 0 | backspacetonothing || escapekey = endregex i 0
| endkeys = endregex (i + 1) (j -1) | endkeys = endregex (i + 1) (j -1)
@@ -420,21 +441,21 @@ updateBackspaceRegex w = case di ^? subInventory of
return $ case str of return $ case str of
(_ : _) -> (_ : _) ->
he & diInvFilter . _Just %~ init he & diInvFilter . _Just %~ init
& diSelection ?~ (x, 0) & diSelection ?~ (x, 0,mempty)
[] -> he & diInvFilter .~ Nothing [] -> he & diInvFilter .~ Nothing
trybackspace'' x he = fromMaybe he $ do trybackspace'' x he = fromMaybe he $ do
str <- he ^? diCloseFilter . _Just str <- he ^? diCloseFilter . _Just
return $ case str of return $ case str of
(_ : _) -> (_ : _) ->
he & diCloseFilter . _Just %~ init he & diCloseFilter . _Just %~ init
& diSelection ?~ (x, 0) & diSelection ?~ (x, 0,mempty)
[] -> he & diCloseFilter .~ Nothing [] -> he & diCloseFilter .~ Nothing
trybackspace' x ci = fromMaybe ci $ do trybackspace' x ci = fromMaybe ci $ do
str <- ci ^? ciFilter . _Just str <- ci ^? ciFilter . _Just
return $ case str of return $ case str of
(_ : _) -> (_ : _) ->
ci & ciFilter . _Just %~ init ci & ciFilter . _Just %~ init
& ciSelection ?~ (x, 0) & ciSelection ?~ (x, 0,mempty)
[] -> ci & ciFilter .~ Nothing [] -> ci & ciFilter .~ Nothing
di = w ^. hud . hudElement di = w ^. hud . hudElement
@@ -442,15 +463,15 @@ updateEnterRegex :: World -> World
updateEnterRegex w = case w ^? hud . hudElement . subInventory of updateEnterRegex w = case w ^? hud . hudElement . subInventory of
Just NoSubInventory{} Just NoSubInventory{}
| secfocus [-1,0,1] -> | secfocus [-1,0,1] ->
w & hud . hudElement . diSelection ?~ (-1, 0) w & hud . hudElement . diSelection ?~ (-1, 0,mempty)
& hud . hudElement . diInvFilter %~ enterregex & hud . hudElement . diInvFilter %~ enterregex
Just NoSubInventory{} Just NoSubInventory{}
| secfocus [2,3] -> | secfocus [2,3] ->
w & hud . hudElement . diSelection ?~ (2, 0) w & hud . hudElement . diSelection ?~ (2, 0,mempty)
& hud . hudElement . diCloseFilter %~ enterregex & hud . hudElement . diCloseFilter %~ enterregex
Just CombineInventory{} -> Just CombineInventory{} ->
w & hud . hudElement . subInventory . ciFilter %~ enterregex w & hud . hudElement . subInventory . ciFilter %~ enterregex
& hud . hudElement . subInventory . ciSelection ?~ (-1, 0) & hud . hudElement . subInventory . ciSelection ?~ (-1, 0,mempty)
_ -> w _ -> w
where where
di = w ^. hud . hudElement di = w ^. hud . hudElement
@@ -486,7 +507,7 @@ selCloseObj :: World -> Maybe (Either FloorItem Button)
selCloseObj w = selobj <|> firstcitem <|> firstcbut selCloseObj w = selobj <|> firstcitem <|> firstcbut
where where
selobj = do selobj = do
(i,j) <- w ^? hud . hudElement . diSelection . _Just (i,j,_) <- w ^? hud . hudElement . diSelection . _Just
case i of case i of
3 -> do 3 -> do
NInt k <- w ^? hud . closeItems . ix j NInt k <- w ^? hud . closeItems . ix j
@@ -511,7 +532,6 @@ toggleMap u = case u ^. uvWorld . hud . hudElement of
{ _subInventory = NoSubInventory { _subInventory = NoSubInventory
, _diSections = mempty , _diSections = mempty
, _diSelection = Nothing , _diSelection = Nothing
, _diSelectionExtra = mempty
, _diInvFilter = mempty , _diInvFilter = mempty
, _diCloseFilter = mempty , _diCloseFilter = mempty
} }
+2 -2
View File
@@ -33,8 +33,8 @@ updateWheelEvent yi w = case w ^. hud . hudElement of
EquipOptions{} -> w & rbOptions . opSel %~ scrollRBOption yi rbscrollmax EquipOptions{} -> w & rbOptions . opSel %~ scrollRBOption yi rbscrollmax
NoRightButtonOptions -> w NoRightButtonOptions -> w
| bdown ButtonLeft -> w & wCam . camZoom +~ y | bdown ButtonLeft -> w & wCam . camZoom +~ y
| invKeyDown -> changeSwapSel yi $ w & hud . hudElement . diSelectionExtra .~ mempty | invKeyDown -> changeSwapSel yi $ w-- & hud . hudElement . diSelectionExtra .~ mempty
| otherwise -> scrollAugInvSel yi $ w & hud . hudElement . diSelectionExtra .~ mempty | otherwise -> scrollAugInvSel yi $ w-- & hud . hudElement . diSelectionExtra .~ mempty
DisplayInventory{_subInventory = ExamineInventory} DisplayInventory{_subInventory = ExamineInventory}
| invKeyDown -> scrollAugInvSel yi w | invKeyDown -> scrollAugInvSel yi w
| otherwise -> w | otherwise -> w
+114 -115
View File
@@ -336,7 +336,7 @@ Combinations src/Dodge/Combine/Combinations.hs 3;" m
Combine src/Dodge/Combine.hs 2;" m Combine src/Dodge/Combine.hs 2;" m
Combine src/Dodge/Data/Combine.hs 2;" m Combine src/Dodge/Data/Combine.hs 2;" m
Combine src/Dodge/Data/Item/Combine.hs 6;" m Combine src/Dodge/Data/Item/Combine.hs 6;" m
CombineInventory src/Dodge/Data/HUD.hs 40;" C CombineInventory src/Dodge/Data/HUD.hs 41;" C
CombineInventoryChange src/Dodge/Data/World.hs 34;" C CombineInventoryChange src/Dodge/Data/World.hs 34;" C
Common src/Dodge/Zoning/Common.hs 1;" m Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m Compile src/Shader/Compile.hs 1;" m
@@ -514,10 +514,10 @@ Detector src/Dodge/Data/Item/Combine.hs 168;" t
Dirt src/Dodge/Data/Material.hs 11;" C Dirt src/Dodge/Data/Material.hs 11;" C
DisasterType src/Dodge/Data/Scenario.hs 24;" t DisasterType src/Dodge/Data/Scenario.hs 24;" t
Display src/Dodge/Item/Display.hs 1;" m Display src/Dodge/Item/Display.hs 1;" m
DisplayCarte src/Dodge/Data/HUD.hs 27;" C DisplayCarte src/Dodge/Data/HUD.hs 28;" C
DisplayInventory src/Dodge/Data/HUD.hs 18;" C DisplayInventory src/Dodge/Data/HUD.hs 19;" C
DisplayInventory src/Dodge/DisplayInventory.hs 4;" m DisplayInventory src/Dodge/DisplayInventory.hs 4;" m
DisplayTerminal src/Dodge/Data/HUD.hs 46;" C DisplayTerminal src/Dodge/Data/HUD.hs 47;" C
Distortion src/Dodge/Data/Distortion.hs 12;" t Distortion src/Dodge/Data/Distortion.hs 12;" t
Distortion src/Dodge/Data/Distortion.hs 6;" m Distortion src/Dodge/Data/Distortion.hs 6;" m
Distortion src/Dodge/Distortion.hs 1;" m Distortion src/Dodge/Distortion.hs 1;" m
@@ -663,7 +663,7 @@ Euse src/Dodge/Data/Item/HeldUse.hs 20;" t
Euse src/Dodge/Euse.hs 1;" m Euse src/Dodge/Euse.hs 1;" m
Event src/Dodge/Button/Event.hs 1;" m Event src/Dodge/Button/Event.hs 1;" m
Event src/Dodge/Event.hs 14;" m Event src/Dodge/Event.hs 14;" m
ExamineInventory src/Dodge/Data/HUD.hs 39;" C ExamineInventory src/Dodge/Data/HUD.hs 40;" C
Explore src/Dodge/Data/Scenario.hs 4;" C Explore src/Dodge/Data/Scenario.hs 4;" C
Explosion src/Dodge/Data/SoundOrigin.hs 37;" C Explosion src/Dodge/Data/SoundOrigin.hs 37;" C
Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m
@@ -821,10 +821,10 @@ HELD src/Dodge/Data/Item/Combine.hs 16;" C
HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C HELDDETECTOR src/Dodge/Data/Item/Combine.hs 162;" C
HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C HOMINGMODULE src/Dodge/Data/Item/Combine.hs 82;" C
HOSE src/Dodge/Data/Item/Combine.hs 32;" C HOSE src/Dodge/Data/Item/Combine.hs 32;" C
HUD src/Dodge/Data/HUD.hs 48;" t HUD src/Dodge/Data/HUD.hs 49;" t
HUD src/Dodge/Data/HUD.hs 6;" m HUD src/Dodge/Data/HUD.hs 6;" m
HUD src/Dodge/Render/HUD.hs 3;" m HUD src/Dodge/Render/HUD.hs 3;" m
HUDElement src/Dodge/Data/HUD.hs 17;" t HUDElement src/Dodge/Data/HUD.hs 18;" t
HalfRes src/Dodge/Data/Config.hs 95;" C HalfRes src/Dodge/Data/Config.hs 95;" C
Hammer src/Dodge/Data/Hammer.hs 6;" m Hammer src/Dodge/Data/Hammer.hs 6;" m
Hammer src/Dodge/Hammer.hs 1;" m Hammer src/Dodge/Hammer.hs 1;" m
@@ -1080,7 +1080,7 @@ Location src/Dodge/Item/Location.hs 1;" m
LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t LocationLDT src/Dodge/Data/DoubleTree.hs 62;" t
Lock src/Dodge/Inventory/Lock.hs 1;" m Lock src/Dodge/Inventory/Lock.hs 1;" m
LockAndKey src/Dodge/LockAndKey.hs 1;" m LockAndKey src/Dodge/LockAndKey.hs 1;" m
LockedInventory src/Dodge/Data/HUD.hs 45;" C LockedInventory src/Dodge/Data/HUD.hs 46;" C
LoneWolf src/Dodge/Data/Creature/State.hs 46;" C LoneWolf src/Dodge/Data/Creature/State.hs 46;" C
LongAI src/Dodge/Data/Creature/Misc.hs 60;" C LongAI src/Dodge/Data/Creature/Misc.hs 60;" C
LongDoor src/Dodge/Room/LongDoor.hs 2;" m LongDoor src/Dodge/Room/LongDoor.hs 2;" m
@@ -1273,7 +1273,7 @@ NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C NoRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C
NoShadowFidelity src/Shape/Data.hs 25;" C NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 101;" C NoShadows src/Dodge/Data/Config.hs 101;" C
NoSubInventory src/Dodge/Data/HUD.hs 36;" C NoSubInventory src/Dodge/Data/HUD.hs 37;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 24;" C
Noclip src/Dodge/Data/Config.hs 70;" C Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C
@@ -1826,7 +1826,7 @@ Strategy src/Dodge/Creature/Strategy.hs 1;" m
StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C StrategyActions src/Dodge/Data/ActionPlan.hs 188;" C
StrictHelp src/StrictHelp.hs 1;" m StrictHelp src/StrictHelp.hs 1;" m
StringHelp src/StringHelp.hs 1;" m StringHelp src/StringHelp.hs 1;" m
SubInventory src/Dodge/Data/HUD.hs 35;" t SubInventory src/Dodge/Data/HUD.hs 36;" t
Superfluous src/Shape/Data.hs 38;" C Superfluous src/Shape/Data.hs 38;" C
Surface src/Shape/Data.hs 41;" t Surface src/Shape/Data.hs 41;" t
Survive src/Dodge/Data/Scenario.hs 5;" C Survive src/Dodge/Data/Scenario.hs 5;" C
@@ -2294,16 +2294,16 @@ _camViewDistance src/Dodge/Data/Camera.hs 30;" f
_camViewFrom src/Dodge/Data/Camera.hs 29;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f
_camZoom src/Dodge/Data/Camera.hs 26;" f _camZoom src/Dodge/Data/Camera.hs 26;" f
_carriage src/Dodge/Data/Creature/Stance.hs 14;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f
_carteCenter src/Dodge/Data/HUD.hs 50;" f _carteCenter src/Dodge/Data/HUD.hs 51;" f
_carteRot src/Dodge/Data/HUD.hs 52;" f _carteRot src/Dodge/Data/HUD.hs 53;" f
_carteZoom src/Dodge/Data/HUD.hs 51;" f _carteZoom src/Dodge/Data/HUD.hs 52;" f
_ceSideEffect src/Dodge/Data/Universe.hs 62;" f _ceSideEffect src/Dodge/Data/Universe.hs 62;" f
_ceString src/Dodge/Data/Universe.hs 63;" f _ceString src/Dodge/Data/Universe.hs 63;" f
_ciFilter src/Dodge/Data/HUD.hs 43;" f _ciFilter src/Dodge/Data/HUD.hs 44;" f
_ciInvIDs src/Dodge/Data/Combine.hs 6;" f _ciInvIDs src/Dodge/Data/Combine.hs 6;" f
_ciItem src/Dodge/Data/Combine.hs 7;" f _ciItem src/Dodge/Data/Combine.hs 7;" f
_ciSections src/Dodge/Data/HUD.hs 41;" f _ciSections src/Dodge/Data/HUD.hs 42;" f
_ciSelection src/Dodge/Data/HUD.hs 42;" f _ciSelection src/Dodge/Data/HUD.hs 43;" f
_cigType src/Dodge/Data/Camera.hs 19;" f _cigType src/Dodge/Data/Camera.hs 19;" f
_clAlt src/Dodge/Data/Cloud.hs 23;" f _clAlt src/Dodge/Data/Cloud.hs 23;" f
_clPict src/Dodge/Data/Cloud.hs 21;" f _clPict src/Dodge/Data/Cloud.hs 21;" f
@@ -2327,8 +2327,8 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 54;" f _cldtUp src/Dodge/Data/DoubleTree.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 50;" f _clickPos src/Dodge/Data/Input.hs 50;" f
_clickWorldPos src/Dodge/Data/Input.hs 52;" f _clickWorldPos src/Dodge/Data/Input.hs 52;" f
_closeButtons src/Dodge/Data/HUD.hs 54;" f _closeButtons src/Dodge/Data/HUD.hs 55;" f
_closeItems src/Dodge/Data/HUD.hs 53;" f _closeItems src/Dodge/Data/HUD.hs 54;" f
_cloudEBO src/Data/Preload/Render.hs 49;" f _cloudEBO src/Data/Preload/Render.hs 49;" f
_cloudShader src/Data/Preload/Render.hs 48;" f _cloudShader src/Data/Preload/Render.hs 48;" f
_cloudVBO src/Data/Preload/Render.hs 47;" f _cloudVBO src/Data/Preload/Render.hs 47;" f
@@ -2438,11 +2438,10 @@ _debug_booleans src/Dodge/Data/Config.hs 57;" f
_debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f
_delayedEvents src/Dodge/Data/LWorld.hs 131;" f _delayedEvents src/Dodge/Data/LWorld.hs 131;" f
_dexterity src/Dodge/Data/Creature/Misc.hs 22;" f _dexterity src/Dodge/Data/Creature/Misc.hs 22;" f
_diCloseFilter src/Dodge/Data/HUD.hs 23;" f _diCloseFilter src/Dodge/Data/HUD.hs 24;" f
_diInvFilter src/Dodge/Data/HUD.hs 22;" f _diInvFilter src/Dodge/Data/HUD.hs 23;" f
_diSections src/Dodge/Data/HUD.hs 20;" f _diSections src/Dodge/Data/HUD.hs 21;" f
_diSelection src/Dodge/Data/HUD.hs 21;" f _diSelection src/Dodge/Data/HUD.hs 22;" f
_diSelectionExtra src/Dodge/Data/HUD.hs 24;" f
_dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f
_dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f
_dimRad src/Dodge/Data/Item/Misc.hs 14;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f
@@ -2611,7 +2610,7 @@ _heldPos src/Dodge/Data/Input.hs 51;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f _heldTriggerType src/Dodge/Data/Item/Use.hs 42;" f
_heldWorldPos src/Dodge/Data/Input.hs 53;" f _heldWorldPos src/Dodge/Data/Input.hs 53;" f
_hud src/Dodge/Data/World.hs 47;" f _hud src/Dodge/Data/World.hs 47;" f
_hudElement src/Dodge/Data/HUD.hs 49;" f _hudElement src/Dodge/Data/HUD.hs 50;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f _humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
@@ -3098,7 +3097,7 @@ _ssShownItems src/Dodge/Data/SelectionList.hs 33;" f
_strength src/Dodge/Data/Creature/Misc.hs 21;" f _strength src/Dodge/Data/Creature/Misc.hs 21;" f
_strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f _strideAmount src/Dodge/Data/Creature/Stance.hs 22;" f
_strideLength src/Dodge/Data/Creature/Stance.hs 16;" f _strideLength src/Dodge/Data/Creature/Stance.hs 16;" f
_subInventory src/Dodge/Data/HUD.hs 19;" f _subInventory src/Dodge/Data/HUD.hs 20;" f
_swColor src/Dodge/Data/Shockwave.hs 18;" f _swColor src/Dodge/Data/Shockwave.hs 18;" f
_swDam src/Dodge/Data/Shockwave.hs 23;" f _swDam src/Dodge/Data/Shockwave.hs 23;" f
_swDirection src/Dodge/Data/Shockwave.hs 19;" f _swDirection src/Dodge/Data/Shockwave.hs 19;" f
@@ -3125,7 +3124,7 @@ _tcEffect src/Dodge/Data/Terminal.hs 120;" f
_tcHelp src/Dodge/Data/Terminal.hs 119;" f _tcHelp src/Dodge/Data/Terminal.hs 119;" f
_tcString src/Dodge/Data/Terminal.hs 117;" f _tcString src/Dodge/Data/Terminal.hs 117;" f
_tempLightSources src/Dodge/Data/LWorld.hs 137;" f _tempLightSources src/Dodge/Data/LWorld.hs 137;" f
_termID src/Dodge/Data/HUD.hs 46;" f _termID src/Dodge/Data/HUD.hs 47;" f
_terminals src/Dodge/Data/LWorld.hs 123;" f _terminals src/Dodge/Data/LWorld.hs 123;" f
_teslaArcs src/Dodge/Data/LWorld.hs 113;" f _teslaArcs src/Dodge/Data/LWorld.hs 113;" f
_testFloat src/Dodge/Data/World.hs 45;" f _testFloat src/Dodge/Data/World.hs 45;" f
@@ -3439,7 +3438,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f
attribSize src/Shader/Compile.hs 306;" f attribSize src/Shader/Compile.hs 306;" f
augInvDirectSelect src/Dodge/Inventory.hs 199;" f augInvDirectSelect src/Dodge/Inventory.hs 192;" f
augmentedHUD src/Dodge/Item/Scope.hs 47;" f augmentedHUD src/Dodge/Item/Scope.hs 47;" f
autoAmr src/Dodge/Item/Held/Rod.hs 51;" f autoAmr src/Dodge/Item/Held/Rod.hs 51;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f
@@ -3565,7 +3564,7 @@ canSeeIndirect src/Dodge/Base/Collide.hs 236;" f
cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 16;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
cardinalVectors src/Dodge/FloorItem.hs 39;" f cardinalVectors src/Dodge/FloorItem.hs 42;" f
cartePosToScreen src/Dodge/Base/Coordinate.hs 37;" f cartePosToScreen src/Dodge/Base/Coordinate.hs 37;" f
cenLasTur src/Dodge/Room/LasTurret.hs 24;" f cenLasTur src/Dodge/Room/LasTurret.hs 24;" f
centerText src/Picture/Base.hs 184;" f centerText src/Picture/Base.hs 184;" f
@@ -3576,9 +3575,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 183;" f chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f chainPairs src/Geometry.hs 363;" f
changeSwapOther src/Dodge/Inventory.hs 157;" f changeSwapOther src/Dodge/Inventory.hs 150;" f
changeSwapSel src/Dodge/Inventory.hs 149;" f changeSwapSel src/Dodge/Inventory.hs 142;" f
changeSwapWith src/Dodge/Inventory.hs 192;" f changeSwapWith src/Dodge/Inventory.hs 185;" f
charToTuple src/Picture/Base.hs 317;" f charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
@@ -3642,7 +3641,7 @@ closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 52;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 79;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 79;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f
closeObjectInfo src/Dodge/Render/HUD.hs 206;" f closeObjectInfo src/Dodge/Render/HUD.hs 207;" f
closestCreatureID src/Dodge/Debug.hs 92;" f closestCreatureID src/Dodge/Debug.hs 92;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
@@ -3661,7 +3660,7 @@ colCrsWalls src/Dodge/WallCreatureCollisions.hs 17;" f
colSpark src/Dodge/Spark.hs 47;" f colSpark src/Dodge/Spark.hs 47;" f
colSparkRandDir src/Dodge/Spark.hs 101;" f colSparkRandDir src/Dodge/Spark.hs 101;" f
collectDamageTypes src/Dodge/Damage.hs 32;" f collectDamageTypes src/Dodge/Damage.hs 32;" f
collectInvItems src/Dodge/Update/Input/InGame.hs 236;" f collectInvItems src/Dodge/Update/Input/InGame.hs 234;" f
collideCircWalls src/Dodge/Base/Collide.hs 149;" f collideCircWalls src/Dodge/Base/Collide.hs 149;" f
collidePoint src/Dodge/Base/Collide.hs 48;" f collidePoint src/Dodge/Base/Collide.hs 48;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f collidePointTestFilter src/Dodge/Base/Collide.hs 93;" f
@@ -3676,7 +3675,7 @@ combinationsOf src/Multiset.hs 46;" f
combinationsTrie src/Dodge/Combine.hs 41;" f combinationsTrie src/Dodge/Combine.hs 41;" f
combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f
combineFloors src/Dodge/Room/Procedural.hs 172;" f combineFloors src/Dodge/Room/Procedural.hs 172;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 324;" f combineInventoryExtra src/Dodge/Render/HUD.hs 325;" f
combineItemListYouX src/Dodge/Combine.hs 33;" f combineItemListYouX src/Dodge/Combine.hs 33;" f
combineList src/Dodge/Combine.hs 20;" f combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 152;" f combineRooms src/Dodge/Room/Procedural.hs 152;" f
@@ -3695,7 +3694,7 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 472;" f
conEffects src/Dodge/Concurrent.hs 13;" f conEffects src/Dodge/Concurrent.hs 13;" f
concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 228;" f concurrentIS src/Dodge/Update/Input/InGame.hs 226;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 532;" f
connectionBlurb src/Dodge/Terminal.hs 102;" f connectionBlurb src/Dodge/Terminal.hs 102;" f
connectionBlurbLines src/Dodge/Terminal.hs 47;" f connectionBlurbLines src/Dodge/Terminal.hs 47;" f
@@ -3754,7 +3753,7 @@ createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
createForceField src/Dodge/ForceField.hs 7;" f createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 8;" f createGas src/Dodge/Gas.hs 8;" f
createHeadLamp src/Dodge/Euse.hs 159;" f createHeadLamp src/Dodge/Euse.hs 159;" f
createItemYou src/Dodge/Inventory/Add.hs 92;" f createItemYou src/Dodge/Inventory/Add.hs 94;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 76;" f createNewArc src/Dodge/Tesla/Arc.hs 76;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
@@ -3954,7 +3953,7 @@ denormalEdges src/Polyhedra.hs 136;" f
destroyAt src/Dodge/Bullet.hs 201;" f destroyAt src/Dodge/Bullet.hs 201;" f
destroyBlock src/Dodge/Block.hs 56;" f destroyBlock src/Dodge/Block.hs 56;" f
destroyDoor src/Dodge/Block.hs 85;" f destroyDoor src/Dodge/Block.hs 85;" f
destroyInvItem src/Dodge/Inventory.hs 49;" f destroyInvItem src/Dodge/Inventory.hs 42;" f
destroyLS src/Dodge/LightSource.hs 91;" f destroyLS src/Dodge/LightSource.hs 91;" f
destroyLSFlashAt src/Dodge/LightSource.hs 101;" f destroyLSFlashAt src/Dodge/LightSource.hs 101;" f
destroyMachine src/Dodge/Machine/Destroy.hs 12;" f destroyMachine src/Dodge/Machine/Destroy.hs 12;" f
@@ -4044,7 +4043,7 @@ doPropUpdates src/Dodge/Prop/Update.hs 36;" f
doQuickload src/Dodge/Save.hs 82;" f doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 366;" f doRegexInput src/Dodge/Update/Input/InGame.hs 365;" f
doRoomInPlacements src/Dodge/Layout.hs 97;" f doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f doRoomPlacements src/Dodge/Layout.hs 122;" f
@@ -4115,13 +4114,13 @@ drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f
drawDrag src/Dodge/Render/Picture.hs 164;" f drawDrag src/Dodge/Render/Picture.hs 164;" f
drawDragDrop src/Dodge/Render/Picture.hs 175;" f drawDragDrop src/Dodge/Render/Picture.hs 175;" f
drawDragPickup src/Dodge/Render/Picture.hs 184;" f drawDragPickup src/Dodge/Render/Picture.hs 184;" f
drawDragSelect src/Dodge/Render/HUD.hs 144;" f
drawDragSelect src/Dodge/Render/Picture.hs 161;" f drawDragSelect src/Dodge/Render/Picture.hs 161;" f
drawDragSelected src/Dodge/Render/HUD.hs 131;" f drawDragSelected src/Dodge/Render/HUD.hs 131;" f
drawDragSelecting src/Dodge/Render/HUD.hs 144;" f
drawEmptySet src/Dodge/Render/Picture.hs 112;" f drawEmptySet src/Dodge/Render/Picture.hs 112;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 140;" f drawEquipment src/Dodge/Creature/Picture.hs 140;" f
drawExamineInventory src/Dodge/Render/HUD.hs 179;" f drawExamineInventory src/Dodge/Render/HUD.hs 180;" f
drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 234;" f
drawFlame src/Dodge/Flame/Draw.hs 7;" f drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 23;" f
@@ -4165,11 +4164,11 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.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 15;" f
drawProp' src/Dodge/Prop/Draw.hs 12;" f drawProp' src/Dodge/Prop/Draw.hs 12;" f
drawRBOptions src/Dodge/Render/HUD.hs 232;" f drawRBOptions src/Dodge/Render/HUD.hs 233;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f
drawReturn src/Dodge/Render/Picture.hs 118;" f drawReturn src/Dodge/Render/Picture.hs 118;" f
drawRootCursor src/Dodge/Render/HUD.hs 70;" f drawRootCursor src/Dodge/Render/HUD.hs 71;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 31;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 31;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 42;" f drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 42;" f
drawSelect src/Dodge/Render/Picture.hs 203;" f drawSelect src/Dodge/Render/Picture.hs 203;" f
@@ -4190,7 +4189,7 @@ drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f
drawTargeting src/Dodge/Targeting/Draw.hs 13;" f drawTargeting src/Dodge/Targeting/Draw.hs 13;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 350;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 351;" f
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
drawText src/Picture/Base.hs 220;" f drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 57;" f drawTitle src/Dodge/Render/MenuScreen.hs 57;" f
@@ -4238,7 +4237,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 343;" f enterCombineInv src/Dodge/DisplayInventory.hs 343;" f
eqConstr src/SameConstr.hs 17;" f eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 290;" f equipAllocString src/Dodge/Render/HUD.hs 291;" f
equipInfo src/Dodge/Item/Info.hs 103;" f equipInfo src/Dodge/Item/Info.hs 103;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f
equipPosition src/Dodge/Item/Draw.hs 30;" f equipPosition src/Dodge/Item/Draw.hs 30;" f
@@ -4292,7 +4291,7 @@ findClosePoint src/Dodge/LevelGen/StaticWalls/Deprecated.hs 74;" f
findIndex src/IntMapHelp.hs 85;" f findIndex src/IntMapHelp.hs 85;" f
findReverseEdge src/Polyhedra.hs 50;" f findReverseEdge src/Polyhedra.hs 50;" f
findReverseEdgeList src/Polyhedra.hs 57;" f findReverseEdgeList src/Polyhedra.hs 57;" f
findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f findWallFreeDropPoint src/Dodge/FloorItem.hs 50;" f
findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f
findWithIx src/ListHelp.hs 123;" f findWithIx src/ListHelp.hs 123;" f
fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f
@@ -4330,7 +4329,7 @@ flockPointTarget src/Dodge/Creature/Boid.hs 199;" f
flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f flockPointTargetR src/Dodge/Creature/Boid.hs 266;" f
flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f flockToPointUsing src/Dodge/Creature/Boid.hs 214;" f
flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f flockToPointUsing' src/Dodge/Creature/Boid.hs 227;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 211;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 212;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f
@@ -4413,7 +4412,7 @@ getNodePos src/Dodge/Path.hs 31;" f
getPretty src/AesonHelp.hs 7;" f getPretty src/AesonHelp.hs 7;" f
getPrettyShort src/AesonHelp.hs 10;" f getPrettyShort src/AesonHelp.hs 10;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 93;" f getRootItemBounds src/Dodge/Render/HUD.hs 94;" f
getSensor src/Dodge/Terminal.hs 189;" f getSensor src/Dodge/Terminal.hs 189;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f
getSplitString src/Dodge/Debug/Terminal.hs 123;" f getSplitString src/Dodge/Debug/Terminal.hs 123;" f
@@ -4598,7 +4597,7 @@ invAdj src/Dodge/Item/Grammar.hs 188;" f
invCursorParams src/Dodge/ListDisplayParams.hs 38;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f
invDimColor src/Dodge/DisplayInventory.hs 205;" f invDimColor src/Dodge/DisplayInventory.hs 205;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f
invHead src/Dodge/Render/HUD.hs 388;" f invHead src/Dodge/Render/HUD.hs 389;" f
invLDT src/Dodge/Item/Grammar.hs 171;" f invLDT src/Dodge/Item/Grammar.hs 171;" f
invRootMap src/Dodge/Item/Grammar.hs 180;" f invRootMap src/Dodge/Item/Grammar.hs 180;" f
invRootTrees src/Dodge/Item/Grammar.hs 210;" f invRootTrees src/Dodge/Item/Grammar.hs 210;" f
@@ -4608,12 +4607,12 @@ invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 30;" f invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
invTrees src/Dodge/Item/Grammar.hs 198;" f invTrees src/Dodge/Item/Grammar.hs 198;" f
invTrees' src/Dodge/Item/Grammar.hs 202;" f invTrees' src/Dodge/Item/Grammar.hs 202;" f
inventoryExtra src/Dodge/Render/HUD.hs 299;" f inventoryExtra src/Dodge/Render/HUD.hs 300;" f
inventoryExtraH src/Dodge/Render/HUD.hs 310;" f inventoryExtraH src/Dodge/Render/HUD.hs 311;" f
inventoryX src/Dodge/Creature.hs 115;" f inventoryX src/Dodge/Creature.hs 115;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 219;" f inverseSelNumPos src/Dodge/SelectionSections.hs 224;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 192;" f inverseSelSecYint src/Dodge/SelectionSections.hs 197;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 203;" f inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 208;" f
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
invertIntMap src/IntMapHelp.hs 99;" f invertIntMap src/IntMapHelp.hs 99;" f
@@ -4773,7 +4772,7 @@ llleft src/Dodge/Item/Grammar.hs 107;" f
llright src/Dodge/Item/Grammar.hs 114;" f llright src/Dodge/Item/Grammar.hs 114;" f
lmt src/MatrixHelper.hs 43;" f lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 377;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 378;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
@@ -4904,7 +4903,7 @@ maybeClearPath src/Dodge/Block.hs 77;" f
maybeClearPaths src/Dodge/Block.hs 74;" f maybeClearPaths src/Dodge/Block.hs 74;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f maybeDestroyBlock src/Dodge/Wall/Damage.hs 26;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f maybeDestroyDoor src/Dodge/Wall/Damage.hs 31;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 542;" f maybeExitCombine src/Dodge/Update/Input/InGame.hs 541;" f
maybeOpenTerminal src/Dodge/Update.hs 123;" f maybeOpenTerminal src/Dodge/Update.hs 123;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 111;" f maybeTakeOne src/RandomHelp.hs 111;" f
@@ -5045,7 +5044,7 @@ newHotkey src/Dodge/Hotkey.hs 18;" f
newKey src/IntMapHelp.hs 60;" f newKey src/IntMapHelp.hs 60;" f
newSounds src/Dodge/Creature/Perception.hs 170;" f newSounds src/Dodge/Creature/Perception.hs 170;" f
newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f newTextureFramebuffer src/Framebuffer/Setup.hs 16;" f
nextInSectionSS src/Dodge/SelectionSections.hs 35;" f nextInSectionSS src/Dodge/SelectionSections.hs 36;" f
noPic src/ShapePicture.hs 25;" f noPic src/ShapePicture.hs 25;" f
noShape src/ShapePicture.hs 29;" f noShape src/ShapePicture.hs 29;" f
noclipCheck src/Dodge/WallCreatureCollisions.hs 20;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 20;" f
@@ -5129,7 +5128,7 @@ parseNum src/Dodge/Debug/Terminal.hs 73;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f pathConnected src/Dodge/Room/CheckConsistency.hs 14;" f
pathEdgeObstructed src/Dodge/Path.hs 43;" f pathEdgeObstructed src/Dodge/Path.hs 43;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 462;" f pauseGame src/Dodge/Update/Input/InGame.hs 461;" f
pauseMenu src/Dodge/Menu.hs 53;" f pauseMenu src/Dodge/Menu.hs 53;" f
pauseMenuOptions src/Dodge/Menu.hs 58;" f pauseMenuOptions src/Dodge/Menu.hs 58;" f
pauseSound src/Dodge/SoundLogic.hs 41;" f pauseSound src/Dodge/SoundLogic.hs 41;" f
@@ -5153,8 +5152,8 @@ pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f
picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f
picFormat src/Polyhedra.hs 23;" f picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 104;" f pickUpItem src/Dodge/Inventory/Add.hs 106;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 110;" f pickUpItemAt src/Dodge/Inventory/Add.hs 112;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
pincerP src/Dodge/Creature/Boid.hs 60;" f pincerP src/Dodge/Creature/Boid.hs 60;" f
pincerP' src/Dodge/Creature/Boid.hs 93;" f pincerP' src/Dodge/Creature/Boid.hs 93;" f
@@ -5276,7 +5275,7 @@ polysToPic src/Polyhedra.hs 130;" f
popScreen src/Dodge/Menu/PushPop.hs 6;" f popScreen src/Dodge/Menu/PushPop.hs 6;" f
posEventEffect src/Dodge/PosEvent.hs 16;" f posEventEffect src/Dodge/PosEvent.hs 16;" f
posRms src/Dodge/Tree/Shift.hs 44;" f posRms src/Dodge/Tree/Shift.hs 44;" f
posSelSecYint src/Dodge/SelectionSections.hs 175;" f posSelSecYint src/Dodge/SelectionSections.hs 180;" f
positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f positionRoomsFromTree src/Dodge/Tree/Shift.hs 35;" f
postGenerationProcessing src/Dodge/LevelGen.hs 33;" f postGenerationProcessing src/Dodge/LevelGen.hs 33;" f
postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 11;" f
@@ -5474,7 +5473,7 @@ rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 62;" f rmInvItem src/Dodge/Inventory.hs 55;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 38;" f roomC src/Dodge/Room/Room.hs 38;" f
@@ -5567,13 +5566,13 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 207;" f scrollAugInvSel src/Dodge/Inventory.hs 200;" f
scrollAugNextInSection src/Dodge/Inventory.hs 220;" f scrollAugNextInSection src/Dodge/Inventory.hs 213;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
scrollRBOption src/Dodge/Update/Scroll.hs 109;" f scrollRBOption src/Dodge/Update/Scroll.hs 109;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 25;" f scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f
scrollTimeBack src/Dodge/Update.hs 213;" f scrollTimeBack src/Dodge/Update.hs 213;" f
scrollTimeForward src/Dodge/Update.hs 233;" f scrollTimeForward src/Dodge/Update.hs 233;" f
scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f scrollWatch src/Dodge/Item/Weapon/Utility.hs 30;" f
@@ -5593,14 +5592,14 @@ sectionsSizes src/Dodge/DisplayInventory.hs 222;" f
seedStartMenu src/Dodge/Menu.hs 79;" f seedStartMenu src/Dodge/Menu.hs 79;" f
seedStartOptions src/Dodge/Menu.hs 82;" f seedStartOptions src/Dodge/Menu.hs 82;" f
segOnCirc src/Geometry.hs 116;" f segOnCirc src/Geometry.hs 116;" f
selCloseObj src/Dodge/Update/Input/InGame.hs 485;" f selCloseObj src/Dodge/Update/Input/InGame.hs 484;" f
selNumPos src/Dodge/Render/HUD.hs 437;" f selNumPos src/Dodge/Render/HUD.hs 438;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 460;" f selNumPosCardinal src/Dodge/Render/HUD.hs 461;" f
selSecDrawCursor src/Dodge/Render/List.hs 130;" f selSecDrawCursor src/Dodge/Render/List.hs 130;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 108;" f selSecDrawCursorAt src/Dodge/Render/List.hs 108;" f
selSecSelCol src/Dodge/Render/HUD.hs 485;" f selSecSelCol src/Dodge/Render/HUD.hs 486;" f
selSecSelSize src/Dodge/SelectionSections.hs 171;" f selSecSelSize src/Dodge/SelectionSections.hs 176;" f
selSecYint src/Dodge/SelectionSections.hs 180;" f selSecYint src/Dodge/SelectionSections.hs 185;" f
selectCreatureDebugItem src/Dodge/Debug.hs 39;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f
selectUse src/Dodge/SelectUse.hs 10;" f selectUse src/Dodge/SelectUse.hs 10;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
@@ -5688,9 +5687,9 @@ shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 245;" f shiftInvItems src/Dodge/Update/Input/InGame.hs 244;" f
shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 275;" f shiftInvItemsDown src/Dodge/Update/Input/InGame.hs 274;" f
shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 269;" f shiftInvItemsUp src/Dodge/Update/Input/InGame.hs 268;" f
shiftLinkBy src/Dodge/Room/Link.hs 87;" f shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f
shiftPathBy src/Dodge/Room/Link.hs 92;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f
@@ -5730,9 +5729,9 @@ showEquipItem src/Dodge/Item/Display.hs 68;" f
showEquipmentNumber src/Dodge/Item/Display.hs 110;" f showEquipmentNumber src/Dodge/Item/Display.hs 110;" f
showInt src/Dodge/Item/Info.hs 31;" f showInt src/Dodge/Item/Info.hs 31;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f
showManObj src/Dodge/TestString.hs 49;" f showManObj src/Dodge/TestString.hs 48;" f
showTerminalError src/Dodge/Debug/Terminal.hs 76;" f showTerminalError src/Dodge/Debug/Terminal.hs 76;" f
showTimeFlow src/Dodge/TestString.hs 98;" f showTimeFlow src/Dodge/TestString.hs 97;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f
shrinkVert src/Geometry/Polygon.hs 140;" f shrinkVert src/Geometry/Polygon.hs 140;" f
shuffle src/RandomHelp.hs 49;" f shuffle src/RandomHelp.hs 49;" f
@@ -5753,7 +5752,7 @@ singleton src/DoubleStack.hs 11;" f
singletonTrie src/SimpleTrie.hs 19;" f singletonTrie src/SimpleTrie.hs 19;" f
sizeFBOs src/Framebuffer/Update.hs 22;" f sizeFBOs src/Framebuffer/Update.hs 22;" f
sizeModule src/Dodge/Item/Craftable.hs 36;" f sizeModule src/Dodge/Item/Craftable.hs 36;" f
sizeSelf src/Dodge/Creature/Action.hs 200;" f sizeSelf src/Dodge/Creature/Action.hs 204;" f
skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f
slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f
slideWindow src/ListHelp.hs 80;" f slideWindow src/ListHelp.hs 80;" f
@@ -5789,7 +5788,7 @@ soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f
soundWithStatus src/Dodge/SoundLogic.hs 98;" f soundWithStatus src/Dodge/SoundLogic.hs 98;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f soundWithStatusVolume src/Dodge/SoundLogic.hs 48;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f southPillarsRoom src/Dodge/Room/LongDoor.hs 85;" f
spaceAction src/Dodge/Update/Input/InGame.hs 465;" f spaceAction src/Dodge/Update/Input/InGame.hs 464;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 186;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f spanColLightI src/Dodge/Placement/Instance/LightSource.hs 179;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 171;" f
@@ -5823,21 +5822,21 @@ square src/Geometry/Polygon.hs 46;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 110;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 110;" f
squashNormalizeV src/Geometry/Vector.hs 146;" f squashNormalizeV src/Geometry/Vector.hs 146;" f
ssLookupDown src/Dodge/SelectionSections.hs 90;" f ssLookupDown src/Dodge/SelectionSections.hs 95;" f
ssLookupGE' src/Dodge/SelectionSections.hs 164;" f ssLookupGE' src/Dodge/SelectionSections.hs 169;" f
ssLookupGT src/Dodge/SelectionSections.hs 147;" f ssLookupGT src/Dodge/SelectionSections.hs 152;" f
ssLookupGT' src/Dodge/SelectionSections.hs 157;" f ssLookupGT' src/Dodge/SelectionSections.hs 162;" f
ssLookupLE' src/Dodge/SelectionSections.hs 135;" f ssLookupLE' src/Dodge/SelectionSections.hs 140;" f
ssLookupLT src/Dodge/SelectionSections.hs 115;" f ssLookupLT src/Dodge/SelectionSections.hs 120;" f
ssLookupLT' src/Dodge/SelectionSections.hs 125;" f ssLookupLT' src/Dodge/SelectionSections.hs 130;" f
ssLookupMax src/Dodge/SelectionSections.hs 76;" f ssLookupMax src/Dodge/SelectionSections.hs 81;" f
ssLookupMaxInSection src/Dodge/SelectionSections.hs 108;" f ssLookupMaxInSection src/Dodge/SelectionSections.hs 113;" f
ssLookupMin src/Dodge/SelectionSections.hs 142;" f ssLookupMin src/Dodge/SelectionSections.hs 147;" f
ssLookupNextMax src/Dodge/SelectionSections.hs 99;" f ssLookupNextMax src/Dodge/SelectionSections.hs 104;" f
ssLookupUp src/Dodge/SelectionSections.hs 81;" f ssLookupUp src/Dodge/SelectionSections.hs 86;" f
ssScrollMinOnFail src/Dodge/SelectionSections.hs 56;" f ssScrollMinOnFail src/Dodge/SelectionSections.hs 57;" f
ssScrollUsing src/Dodge/SelectionSections.hs 46;" f ssScrollUsing src/Dodge/SelectionSections.hs 47;" f
ssSetCursor src/Dodge/SelectionSections.hs 67;" f ssSetCursor src/Dodge/SelectionSections.hs 72;" f
ssfold src/FoldableHelp.hs 105;" f ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 102;" f stackPicturesAt src/Dodge/Render/List.hs 102;" f
stackPicturesAtOff src/Dodge/Render/List.hs 105;" f stackPicturesAtOff src/Dodge/Render/List.hs 105;" f
@@ -5845,7 +5844,7 @@ stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 281;" f stackedInventory src/Dodge/Creature.hs 281;" f
startCr src/Dodge/Creature.hs 91;" f startCr src/Dodge/Creature.hs 91;" f
startCrafts src/Dodge/Room/Start.hs 92;" f startCrafts src/Dodge/Room/Start.hs 92;" f
startDrag src/Dodge/Update/Input/InGame.hs 207;" f startDrag src/Dodge/Update/Input/InGame.hs 205;" f
startInvList src/Dodge/Creature.hs 109;" f startInvList src/Dodge/Creature.hs 109;" f
startInventory src/Dodge/Creature.hs 112;" f startInventory src/Dodge/Creature.hs 112;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f startNewGameInSlot src/Dodge/StartNewGame.hs 15;" f
@@ -5879,7 +5878,7 @@ swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 72;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory/Swap.hs 21;" f swapInvItems src/Dodge/Inventory/Swap.hs 21;" f
swapItemWith src/Dodge/Inventory.hs 181;" f swapItemWith src/Dodge/Inventory.hs 174;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f
switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f
@@ -5987,7 +5986,7 @@ toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 79;" f
toggleJust src/MaybeHelp.hs 41;" f toggleJust src/MaybeHelp.hs 41;" f
toggleMap src/Dodge/Update/Input/InGame.hs 505;" f toggleMap src/Dodge/Update/Input/InGame.hs 505;" f
toggleTweakInv src/Dodge/Update/Input/InGame.hs 519;" f toggleTweakInv src/Dodge/Update/Input/InGame.hs 518;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f togglesToEffects src/Dodge/Terminal.hs 248;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 444;" f
@@ -5995,7 +5994,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
topInvW src/Dodge/ListDisplayParams.hs 53;" f topInvW src/Dodge/ListDisplayParams.hs 53;" f
topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f topPrismIndices src/Shader/Poke.hs 402;" f
topTestPart src/Dodge/TestString.hs 45;" f topTestPart src/Dodge/TestString.hs 44;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 213;" f torchShape src/Dodge/Item/Draw/SPic.hs 213;" f
torqueCr src/Dodge/WorldEffect.hs 69;" f torqueCr src/Dodge/WorldEffect.hs 69;" f
@@ -6058,7 +6057,7 @@ trunkDepth src/TreeHelp.hs 161;" f
tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f tryAssignHotkey src/Dodge/Creature/YourControl.hs 85;" f
tryAttachBulletBelt src/Dodge/Euse.hs 40;" f tryAttachBulletBelt src/Dodge/Euse.hs 40;" f
tryChargeBattery src/Dodge/Euse.hs 43;" f tryChargeBattery src/Dodge/Euse.hs 43;" f
tryCombine src/Dodge/Update/Input/InGame.hs 528;" f tryCombine src/Dodge/Update/Input/InGame.hs 527;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 108;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 108;" f
tryGetChannel src/Sound.hs 96;" f tryGetChannel src/Sound.hs 96;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
@@ -6066,9 +6065,9 @@ tryGetRootItemInvID src/Dodge/Inventory/Location.hs 29;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 36;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 116;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 116;" f
tryPlay src/Sound.hs 83;" f tryPlay src/Sound.hs 83;" f
tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 25;" f tryPutFloorItemIDInInv src/Dodge/Inventory/Add.hs 26;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 41;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 31;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
trySeedFromClipboard src/Dodge/Menu.hs 88;" f trySeedFromClipboard src/Dodge/Menu.hs 88;" f
trySiphonFuel src/Dodge/Euse.hs 46;" f trySiphonFuel src/Dodge/Euse.hs 46;" f
trySpinByCID src/Dodge/Projectile/Update.hs 95;" f trySpinByCID src/Dodge/Projectile/Update.hs 95;" f
@@ -6107,7 +6106,7 @@ updateAllNodes src/TreeHelp.hs 85;" f
updateArc src/Dodge/Tesla/Arc.hs 86;" f updateArc src/Dodge/Tesla/Arc.hs 86;" f
updateAttachedItems src/Dodge/Creature/State.hs 173;" f updateAttachedItems src/Dodge/Creature/State.hs 173;" f
updateAutoRecharge src/Dodge/Creature/State.hs 324;" f updateAutoRecharge src/Dodge/Creature/State.hs 324;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 400;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 399;" f
updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarrel src/Dodge/Barreloid.hs 45;" f
updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f
updateBounds src/Dodge/Update/Camera.hs 245;" f updateBounds src/Dodge/Update/Camera.hs 245;" f
@@ -6115,7 +6114,7 @@ updateBulVel src/Dodge/Bullet.hs 50;" f
updateBullet src/Dodge/Bullet.hs 28;" f updateBullet src/Dodge/Bullet.hs 28;" f
updateBullets src/Dodge/Update.hs 533;" f updateBullets src/Dodge/Update.hs 533;" f
updateCamera src/Dodge/Update/Camera.hs 31;" f updateCamera src/Dodge/Update/Camera.hs 31;" f
updateCloseObjects src/Dodge/Inventory.hs 120;" f updateCloseObjects src/Dodge/Inventory.hs 113;" f
updateCloud src/Dodge/Update.hs 718;" f updateCloud src/Dodge/Update.hs 718;" f
updateClouds src/Dodge/Update.hs 562;" f updateClouds src/Dodge/Update.hs 562;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f
@@ -6130,7 +6129,7 @@ updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 523;" f updateDistortions src/Dodge/Update.hs 523;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
updateEnergyBalls src/Dodge/Update.hs 550;" f updateEnergyBalls src/Dodge/Update.hs 550;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 441;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 440;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f updateFBOTO3 src/Framebuffer/Update.hs 131;" f
@@ -6138,35 +6137,35 @@ updateFlame src/Dodge/Flame.hs 71;" f
updateFlames src/Dodge/Update.hs 547;" f updateFlames src/Dodge/Update.hs 547;" f
updateFlare src/Dodge/Flare.hs 7;" f updateFlare src/Dodge/Flare.hs 7;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 292;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 291;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 285;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 284;" f
updateGusts src/Dodge/Update.hs 701;" f updateGusts src/Dodge/Update.hs 701;" f
updateHeldRootItem src/Dodge/Creature/State.hs 167;" f updateHeldRootItem src/Dodge/Creature/State.hs 167;" f
updateHumanoid src/Dodge/Humanoid.hs 12;" f updateHumanoid src/Dodge/Humanoid.hs 12;" f
updateIMl src/Dodge/Update.hs 492;" f updateIMl src/Dodge/Update.hs 492;" f
updateIMl' src/Dodge/Update.hs 497;" f updateIMl' src/Dodge/Update.hs 497;" f
updateInGameCamera src/Dodge/Update/Camera.hs 70;" f updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 345;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 344;" f
updateInstantBullets src/Dodge/Update.hs 639;" f updateInstantBullets src/Dodge/Update.hs 639;" f
updateInv src/Dodge/Creature/State.hs 152;" f updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 87;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 339;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 338;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 327;" f updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 326;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 13;" f
updateLasers src/Dodge/Update.hs 421;" f updateLasers src/Dodge/Update.hs 421;" f
updateLightSources src/Dodge/Update.hs 526;" f updateLightSources src/Dodge/Update.hs 526;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 360;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 359;" f
updateMIM src/Dodge/Update.hs 652;" f updateMIM src/Dodge/Update.hs 652;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f updateMachine src/Dodge/Machine/Update.hs 19;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 160;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 158;" f
updateMouseContext src/Dodge/Update.hs 311;" f updateMouseContext src/Dodge/Update.hs 311;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 90;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 90;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 82;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 82;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 135;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 137;" f
updateMovement src/Dodge/Creature/State.hs 331;" f updateMovement src/Dodge/Creature/State.hs 331;" f
updateObjCatMaybes src/Dodge/Update.hs 514;" f updateObjCatMaybes src/Dodge/Update.hs 514;" f
updateObjMapMaybe src/Dodge/Update.hs 507;" f updateObjMapMaybe src/Dodge/Update.hs 507;" f
@@ -6174,8 +6173,8 @@ updatePastWorlds src/Dodge/Update.hs 409;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 559;" f updatePosEvents src/Dodge/Update.hs 559;" f
updatePreload src/Preload/Update.hs 20;" f updatePreload src/Preload/Update.hs 20;" f
updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 302;" f updatePressedButtonsCarte src/Dodge/Update/Input/InGame.hs 301;" f
updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 305;" f updatePressedButtonsCarte' src/Dodge/Update/Input/InGame.hs 304;" f
updateProjectile src/Dodge/Projectile/Update.hs 23;" f updateProjectile src/Dodge/Projectile/Update.hs 23;" f
updateProp src/Dodge/Prop/Update.hs 11;" f updateProp src/Dodge/Prop/Update.hs 11;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f updateRBList src/Dodge/Inventory/RBList.hs 16;" f
@@ -6367,8 +6366,8 @@ yIntercepts' src/Dodge/Zoning/Base.hs 74;" f
yV2 src/Geometry/Vector.hs 203;" f yV2 src/Geometry/Vector.hs 203;" f
yellow src/Color.hs 17;" f yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 18;" f you src/Dodge/Base/You.hs 18;" f
youDropItem src/Dodge/Creature/Action.hs 186;" f youDropItem src/Dodge/Creature/Action.hs 190;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 218;" f yourAugmentedItem src/Dodge/Render/HUD.hs 219;" f
yourControl src/Dodge/Creature/YourControl.hs 22;" f yourControl src/Dodge/Creature/YourControl.hs 22;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f