Refactor close objects hud display

This commit is contained in:
2024-11-24 16:12:35 +00:00
parent e6c2b659fd
commit 81fcfea1be
11 changed files with 205 additions and 220 deletions
+1 -1
View File
@@ -1 +1 @@
All good (594 modules, at 14:06:19)
All good (593 modules, at 16:12:32)
+2 -3
View File
@@ -50,11 +50,10 @@ data HUD = HUD
, _carteCenter :: Point2
, _carteZoom :: Float
, _carteRot :: Float
, _closeObjects :: [Either FloorItem Button]
, _closeItems :: [FloorItem]
, _closeInterfaces :: [Button]
}
makeLenses ''HUD
makeLenses ''HUDElement
makeLenses ''SubInventory
--makeLenses ''MouseInventorySelection
+2 -1
View File
@@ -156,7 +156,8 @@ defaultHUD =
, _carteCenter = V2 0 0
, _carteZoom = 0.5
, _carteRot = 0
, _closeObjects = []
, _closeItems = mempty
, _closeInterfaces = mempty
}
defaultDisplayInventory :: HUDElement
+26 -22
View File
@@ -1,5 +1,5 @@
-- {-# OPTIONS_GHC -fno-full-laziness #-}
{-# LANGUAGE TupleSections #-}
--{-# LANGUAGE TupleSections #-}
module Dodge.DisplayInventory (
toggleCombineInv,
@@ -52,10 +52,10 @@ updateCombineSections ::
updateCombineSections w cfig =
updateSectionsPositioning
(const 5)
(const 0)
(w ^? hud . hudElement . subInventory . ciSelection . _Just)
(getAvailableListLines secondColumnParams cfig)
[(0, sclose), (-1, sfclose)]
(IM.fromAscList [(-1,0),(0,0)])
where
filtcurs = w ^? hud . hudElement . subInventory . ciSelection . _Just . _1 == Just (-1)
(sfclose, sclose) =
@@ -117,6 +117,13 @@ displaySectionsSizes 0 = 10
displaySectionsSizes 3 = 10
displaySectionsSizes _ = 3
displayIndents :: Int -> Int
displayIndents (-3) = 2
displayIndents 0 = 2
displayIndents 3 = 2
displayIndents 5 = 2
displayIndents _ = 0
updateDisplaySections ::
World ->
Configuration ->
@@ -125,10 +132,10 @@ updateDisplaySections ::
updateDisplaySections w cfig =
updateSectionsPositioning
displaySectionsSizes
displayIndents
mselpos
(getAvailableListLines (invDisplayParams w) cfig)
[statushead,statusdisplay,invhead,invx,youx, nearbyhead, closex]
(IM.fromAscList [(-4,0),(-3,2),(-2,0),(-1,0),(0,2),(1,0),(2,0),(3,2)])
where
mselpos = w ^? hud . hudElement . diSelection . _Just
invfiltcurs = mselpos ^? _Just . _1 == Just (-1)
@@ -147,21 +154,19 @@ updateDisplaySections w cfig =
youx = (1, youitems)
makehead str i = (i,IM.singleton 0 $ SelectionInfo [str] 1 False white 0)
statushead = (-4,IM.singleton 0 $ SelectionInfo ["STATUS"] 1 False white 0)
statusdisplay = (-3,IM.singleton 0 $ SelectionInfo ["HEALTH "++show (_crHP cr)] 1 False white 0)
statusdisplay = (-3,IM.singleton 0 $ SelectionInfo ["HEALTH: "++show (_crHP cr)] 1 False white 0)
invhead = if null sfinv then makehead "INVENTORY" (-2) else filtinv
youitems = IM.singleton 0 $ SelectionItem [thetext] 1 True invDimColor 2 ()
thetext = displayFreeSlots (crNumFreeSlots cr)
closeitms =
IM.fromDistinctAscList . zip [0 ..] $
map closeObjectToSelectionItem (w ^. hud . closeObjects)
map closeItemToSelectionItem (w ^. hud . closeItems)
invitems =
IM.mapWithKey
(\k (indent, x) -> invSelectionItem indent cr k (x ^. locLDT . ldtValue))
(fmap (first removeindentiffiltering) . allInvLocs $ _crInv cr)
-- this clearly deserves refactoring, also check if drawInventory/iextra
-- needs it at the same time
removeindentiffiltering =
if maybe False isFilteringInv (w ^? hud . hudElement . diSections)
if maybe False (not . null) (w ^? hud . hudElement . diInvFilter . _Just)
then const 0
else id
cr = you w
@@ -218,7 +223,7 @@ sectionsSizes ::
IM.IntMap Int
sectionsSizes x f is sss = doSectionSize extraavailable mintaken is sss mempty
where
mintaken = IM.mapWithKey (\k y -> min (f k) y) sss
mintaken = IM.mapWithKey (min . f) sss
extraavailable = x - sum mintaken
doSectionSize ::
@@ -249,26 +254,25 @@ doSectionSize extraavailable mintaken is sss done = fromMaybe done $ do
updateSectionsPositioning ::
(Int -> Int) -> -- for determining each sections minimum size
(Int -> Int) -> -- for determining each sections indent
Maybe (Int, Int) ->
Int ->
[(Int, IM.IntMap (SelectionItem a))] ->
IM.IntMap Int ->
IM.IntMap (SelectionSection a) ->
IM.IntMap (SelectionSection a)
updateSectionsPositioning f mselpos allavailablelines lsss indents sss =
IM.intersectionWith updateSection ls mss `h` ssizes `g` offsets `h` indents
updateSectionsPositioning f h mselpos allavailablelines lsss sss =
IM.intersectionWithKey (\k -> updateSection (h k) (m k)) ls ssizes `g` offsets
where
offsets = fmap _ssOffset sss
mss = IM.mapWithKey m ssizes
m k _ = do
m k = do
(k', i) <- mselpos
guard $ k == k'
return i
ls = IM.fromList lsss
h = IM.intersectionWith ($)
-- h = IM.intersectionWith ($)
-- defaults non-existing offsets to 0
g = merge (mapMissing (const ($ 0))) dropMissing (zipWithMatched (const ($)))
lk = fromMaybe [] $ fmap ((: []) . fst) mselpos
lk = maybe [] ((: []) . fst) mselpos
ssizes =
sectionsSizes
allavailablelines
@@ -277,13 +281,13 @@ updateSectionsPositioning f mselpos allavailablelines lsss indents sss =
$ sectionsDesiredLines ls
updateSection ::
IM.IntMap (SelectionItem a) ->
Maybe Int ->
Int ->
Maybe Int ->
IM.IntMap (SelectionItem a) ->
Int ->
Int ->
SelectionSection a
updateSection sis mcsel availablelines oldoffset indent =
updateSection indent mcsel sis availablelines oldoffset =
SelectionSection
{ _ssItems = sis
, _ssOffset = offset
@@ -363,10 +367,10 @@ enterCombineInv cfig w =
}
combsection =
updateSection
cm
(Just 0)
availablelines
0
(Just 0)
cm
availablelines
0
regexList :: String -> [String] -> Bool
+62 -65
View File
@@ -9,39 +9,38 @@ module Dodge.Inventory (
scrollAugInvSel,
crNumFreeSlots,
crInvSize,
selectedCloseObject,
selectedCloseItem,
setInvPosFromSS,
module Dodge.Inventory.RBList,
swapInvItems,
scrollAugNextInSection,
isFilteringInv,
-- isFilteringInv,
swapItemWith,
) where
import qualified Data.IntSet as IS
import Control.Monad
import Dodge.Item.Grammar
import Dodge.Data.DoubleTree
import Sound.Data
import Dodge.SoundLogic
import Control.Applicative
import Control.Monad
import Data.Function
import qualified Data.IntSet as IS
import Data.Maybe
import Dodge.Base
import Dodge.Data.DoubleTree
import Dodge.Data.SelectionList
import Dodge.Data.World
--import Dodge.DisplayInventory
import Dodge.Euse
import Dodge.Inventory.CheckSlots
import Dodge.Inventory.CloseObject
import Dodge.Inventory.Location
import Dodge.Inventory.RBList
import Dodge.ItEffect
import Dodge.Item.Grammar
import Dodge.SelectionSections
import Dodge.SoundLogic
import Geometry
import qualified IntMapHelp as IM
import LensHelp
import ListHelp
import NewInt
import Sound.Data
--import Padding
@@ -90,12 +89,13 @@ rmInvItem cid invid w =
-- & updateCreatureItemLocations cid
pointcid = cWorld . lWorld . creatures . ix cid
updateselectionextra | cid == 0 = hud . hudElement . diSelectionExtra .~ mempty
updateselectionextra
| cid == 0 = hud . hudElement . diSelectionExtra .~ mempty
| otherwise = id
updateselection
| cid == 0 && cr ^? crManipulation . manObject . imSelectedItem == Just invid =
scrollAugInvSel (-1) . scrollAugInvSel 1 -- . updateInventorySectionItems
-- id -- . updateInventorySectionItems
-- id -- . updateInventorySectionItems
| otherwise =
pointcid . crManipulation . manObject . imSelectedItem %~ g
@@ -126,36 +126,34 @@ rmInvItem cid invid w =
updateCloseObjects :: World -> World
updateCloseObjects w =
w
& hud . closeObjects .~ newcloseobjects
& updatecursorposifnecessary
& hud . closeItems %~ f
& hud . closeInterfaces %~ g
where
newcloseobjects = unionBy closeObjEq oldCloseFiltered currentClose
updatecursorposifnecessary =
case w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . ispCloseObject of
Just i
| i >= length newcloseobjects -> scrollAugInvSel 1
| isNothing (w ^? hud . hudElement . diSections . ix 3 . ssItems . ix i) ->
scrollAugInvSel (-1)
_ -> id
filt = filter $ \obj -> dist ypos (closeObjPos obj) < 40 && hasButtonLOS ypos (closeObjPos obj) w
-- the following should update any changed properties of flits/bts
g oldbts = intersectBy bteq cbts oldbts `btunion` cbts
f olditems = intersectBy feq citems olditems `itunion` citems
itunion = unionBy feq
btunion = unionBy bteq
feq = (==) `on` _flItID
bteq = (==) `on` _btID
cbts = filter (isclose . _btPos) activeButtons
citems =
filter (isclose . _flItPos)
. IM.elems
$ w ^. cWorld . lWorld . floorItems . unNIntMap
isclose pos = dist ypos pos < 40 && hasButtonLOS ypos pos w
ypos = _crPos $ you w
activeButtons =
map Right
. filter ((/=) BtNoLabel . _btState)
filter ((/=) BtNoLabel . _btState)
. IM.elems
$ w ^. cWorld . lWorld . buttons
currentClose =
filt $
map Left (IM.elems $ w ^. cWorld . lWorld . floorItems . unNIntMap)
++ activeButtons
oldClose = filt $ mapMaybe updatebyid $ w ^. hud . closeObjects
oldCloseFiltered = intersectBy closeObjEq oldClose currentClose
updatebyid (Left flid) =
fmap Left $
w
^? cWorld . lWorld . floorItems . unNIntMap
. ix (_unNInt $ _flItID flid)
updatebyid (Right btid) = fmap Right $ w ^? cWorld . lWorld . buttons . ix (_btID btid)
-- updatecursorposifnecessary =
-- case w ^? cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . ispCloseObject of
-- Just i
-- | i >= length newcloseobjects -> scrollAugInvSel 1
-- | isNothing (w ^? hud . hudElement . diSections . ix 3 . ssItems . ix i) ->
-- scrollAugInvSel (-1)
-- _ -> id
changeSwapSel :: Int -> World -> World
changeSwapSel yi w
@@ -178,7 +176,7 @@ changeSwapClose f i w = fromMaybe w $ do
& swapAnyExtraSelection i k
& cWorld . lWorld . creatures . ix 0 . crManipulation . manObject . ispCloseObject
.~ k
& hud . closeObjects %~ swapIndices i k
& hud . closeItems %~ swapIndices i k
& hud . hudElement . diSelection . _Just . _2 .~ k
& worldEventFlags . at InventoryChange ?~ ()
@@ -196,7 +194,7 @@ swapInvItems f i w = fromMaybe w $ do
Just (0, j) | j == i -> hud . hudElement . diSelection . _Just . _2 .~ k
_ -> id
return $
w
w
& swapAnyExtraSelection i k
& checkConnection InventorySound disconnectItemS i k
& cWorld . lWorld . creatures . ix 0 %~ updatecreature k
@@ -207,15 +205,16 @@ swapInvItems f i w = fromMaybe w $ do
& cWorld . lWorld %~ crUpdateItemLocations 0 -- the double application is inefficient, but necessary without further changes
-- a rethink is maybe in order
& checkConnection InventoryConnectSound connectItemS i k
-- & checkconnect k InventoryConnectSound connectItemS
where
-- cpos = fromMaybe 0 $ w ^? cWorld . lWorld . creatures . ix 0 . crPos
-- checkconnect k stype s w'
-- | p (i+1) || p (i-1)
-- || p (k+1) || p (k-1) = soundStart stype cpos s Nothing w'
-- | otherwise = w'
-- where
-- p j = maybe False not $ w' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix j . itLocation . ilIsRoot
-- & checkconnect k InventoryConnectSound connectItemS
-- cpos = fromMaybe 0 $ w ^? cWorld . lWorld . creatures . ix 0 . crPos
-- checkconnect k stype s w'
-- | p (i+1) || p (i-1)
-- || p (k+1) || p (k-1) = soundStart stype cpos s Nothing w'
-- | otherwise = w'
-- where
-- p j = maybe False not $ w' ^? cWorld . lWorld . creatures . ix 0 . crInv . ix j . itLocation . ilIsRoot
updatecreature k =
(crInv %~ IM.safeSwapKeys i k)
. (crManipulation . manObject . imSelectedItem .~ k)
@@ -238,8 +237,9 @@ swapAnyExtraSelection i k w = fromMaybe w $ do
is <- w ^? hud . hudElement . diSelectionExtra
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
return $ w & hud . hudElement . diSelectionExtra
%~ (f . g . IS.delete i . IS.delete k)
return $
w & hud . hudElement . diSelectionExtra
%~ (f . g . IS.delete i . IS.delete k)
checkConnection :: SoundOrigin -> SoundID -> Int -> Int -> World -> World
checkConnection so s i j w = fromMaybe w $ do
@@ -253,16 +253,17 @@ checkConnection so s i j w = fromMaybe w $ do
isConnected :: LocationLDT b a -> Bool
isConnected x = case x ^. locLdtContext of
TopLDT -> not (null $ x ^. locLDT . ldtRight)
|| not (null $ x ^. locLDT . ldtLeft)
TopLDT ->
not (null $ x ^. locLDT . ldtRight)
|| not (null $ x ^. locLDT . ldtLeft)
_ -> True
swapItemWith ::
swapItemWith ::
(Int -> IM.IntMap (SelectionItem ()) -> Maybe Int) ->
(Int,Int) ->
(Int, Int) ->
World ->
World
swapItemWith f (j,i) w = case j of
swapItemWith f (j, i) w = case j of
0 -> w & swapInvItems f i
3 -> w & changeSwapClose f i
_ -> w
@@ -296,22 +297,18 @@ scrollAugInvSel yi w
scrollAugNextInSection :: World -> World
scrollAugNextInSection w =
w & hud . hudElement %~ doscroll
& worldEventFlags . at InventoryChange ?~ ()
& setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0
w & hud . hudElement %~ doscroll
& worldEventFlags . at InventoryChange ?~ ()
& setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0
where
doscroll he = fromMaybe he $ do
sss <- he ^? diSections
return $ he & diSelection %~ nextInSectionSS sss
selectedCloseObject :: World -> Maybe (Either FloorItem Button)
selectedCloseObject w = do
selectedCloseItem :: World -> Maybe FloorItem
selectedCloseItem w = do
i <-
you w ^? crManipulation . manObject . ispCloseObject
<|> fmap fst (IM.lookupMin =<< w ^? hud . hudElement . diSections . ix 3 . ssItems)
w ^? hud . closeObjects . ix i
isFilteringInv :: IM.IntMap (SelectionSection a) -> Bool
isFilteringInv = not . null . (^. ix (-1) . ssItems)
w ^? hud . closeItems . ix i
-18
View File
@@ -1,18 +0,0 @@
module Dodge.Inventory.CloseObject (
closeObjPos,
closeObjEq,
) where
import Dodge.Data.Button
import Dodge.Data.FloorItem
import Geometry
closeObjPos :: Either FloorItem Button -> Point2
closeObjPos e = case e of
Right x -> _btPos x
Left x -> _flItPos x
closeObjEq :: Either FloorItem Button -> Either FloorItem Button -> Bool
closeObjEq (Right x) (Right y) = _btID x == _btID y
closeObjEq (Left x) (Left y) = _flItID x == _flItID y
closeObjEq _ _ = False
+9 -9
View File
@@ -1,9 +1,9 @@
{-# LANGUAGE LambdaCase #-}
--{-# LANGUAGE LambdaCase #-}
module Dodge.Inventory.SelectionList (
invSelectionItem,
invSelectionItem',
closeObjectToSelectionItem,
closeItemToSelectionItem,
) where
import Dodge.Data.ComposedItem
@@ -51,8 +51,8 @@ hotkeyToString x = case x of
Hotkey9 -> "[9]"
Hotkey0 -> "[0]"
closeObjectToSelectionItem :: Either FloorItem Button -> SelectionItem ()
closeObjectToSelectionItem e =
closeItemToSelectionItem :: FloorItem -> SelectionItem ()
closeItemToSelectionItem e =
SelectionItem
{ _siPictures = pics
, _siHeight = length pics
@@ -63,11 +63,11 @@ closeObjectToSelectionItem e =
, _siPayload = ()
}
where
(pics, col) = closeObjectToTextPictures e
(pics, col) = closeItemToTextPictures e
closeObjectToTextPictures :: Either FloorItem Button -> ([String], Color)
closeObjectToTextPictures = \case
Left flit ->
closeItemToTextPictures :: FloorItem -> ([String], Color)
closeItemToTextPictures flit =
let it = _flIt flit
in (basicItemDisplay it, itemInvColor . pciToCI $ basePCI it)
Right bt -> ([_btText bt], yellow)
-- Right bt -> ([_btText bt], yellow)
+40 -38
View File
@@ -4,10 +4,10 @@ module Dodge.Render.HUD (
drawHUD,
) where
import qualified Data.IntSet as IS
import Control.Applicative
import Control.Lens
import Control.Monad
import qualified Data.IntSet as IS
import qualified Data.Map.Strict as M
import Data.Maybe
--import qualified Data.Vector as V
@@ -47,19 +47,9 @@ drawHUD :: Configuration -> World -> Picture
drawHUD cfig w = case w ^. hud . hudElement of
DisplayCarte -> drawCarte cfig w
DisplayInventory{_diSections = sections, _subInventory = subinv} ->
drawHP cfig w
<> drawInventory sections w cfig
drawInventory sections w cfig
<> drawSubInventory subinv cfig w
drawHP :: Configuration -> World -> Picture
drawHP cfig =
dShadCol white
. translate (halfWidth cfig) (halfHeight cfig - 40)
. scale 0.2 0.2
. textRight
. show
. (^?! cWorld . lWorld . creatures . ix 0 . crHP)
drawInventory :: IM.IntMap (SelectionSection ()) -> World -> Configuration -> Picture
drawInventory sss w cfig =
drawSelectionSections sss ldp cfig
@@ -72,8 +62,9 @@ drawInventory sss w cfig =
curs = invCursorParams w
iextra = fromMaybe mempty $ do
inv <- w ^? cWorld . lWorld . creatures . ix 0 . crInv
guard . not . isFilteringInv =<< (w ^? hud . hudElement . diSections)
return . inventoryExtra sss cfig w $ invAdj inv
case w ^? hud . hudElement . diInvFilter . _Just of
Just (_ : _) -> Nothing
_ -> return . inventoryExtra sss cfig w $ invAdj inv
drawRootCursor ::
World ->
@@ -109,13 +100,17 @@ getRootItemBounds i inv = do
-- this should display while dragging a single inv item
drawMouseOver :: Configuration -> World -> Picture
drawMouseOver cfig w = concat (invsel <|> combinvsel
<|> drawDragSelect cfig w)
<> concat (drawDragSelected cfig w)
drawMouseOver cfig w =
concat
( invsel <|> combinvsel
<|> drawDragSelect cfig w
)
<> concat (drawDragSelected cfig w)
where
invsel = do
(j, i) <- w ^? input . mouseContext . mcoInvSelect <|>
w ^? input . mouseContext . mcoInvFilt
(j, i) <-
w ^? input . mouseContext . mcoInvSelect
<|> w ^? input . mouseContext . mcoInvFilt
sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w
return . translateScreenPos cfig (invDisplayParams w ^. ldpPos)
@@ -123,8 +118,9 @@ drawMouseOver cfig w = concat (invsel <|> combinvsel
$ selSecDrawCursorAt 15 idp curs sss (j, i)
curs = BackdropCursor
combinvsel = do
(j, i) <- (w ^? input . mouseContext . mcoCombSelect)
<|> (w ^? input . mouseContext . mcoCombCombine)
(j, i) <-
(w ^? input . mouseContext . mcoCombSelect)
<|> (w ^? input . mouseContext . mcoCombCombine)
sss <- w ^? hud . hudElement . subInventory . ciSections
let idp = secondColumnParams
return . translateScreenPos cfig (idp ^. ldpPos)
@@ -135,23 +131,27 @@ drawDragSelected :: Configuration -> World -> Maybe Picture
drawDragSelected cfig w = do
ys <- w ^? hud . hudElement . diSelectionExtra
guard $ not (IS.null ys)
(i,_) <- w ^? hud . hudElement . diSelection . _Just
(i, _) <- w ^? hud . hudElement . diSelection . _Just
sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w
let f x = (selSecDrawCursorAt 15 idp BackdropCursor sss (i, x) <>)
return . translateScreenPos cfig (invDisplayParams w ^. ldpPos)
. color (withAlpha 0.2 white) . IS.foldr f mempty $ ys
. color (withAlpha 0.2 white)
. IS.foldr f mempty
$ ys
drawDragSelect :: Configuration -> World -> Maybe Picture
drawDragSelect cfig w = do
OverInvDragSelect (i,j) mselend <- w ^? input . mouseContext
(a,b) <- mselend
OverInvDragSelect (i, j) mselend <- w ^? input . mouseContext
(a, b) <- mselend
guard $ i == a
sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w
let f x = selSecDrawCursorAt 15 idp BackdropCursor sss (i, x)
return . translateScreenPos cfig (invDisplayParams w ^. ldpPos)
. color (withAlpha 0.2 white) . foldMap f $ [min j b .. max j b]
. color (withAlpha 0.2 white)
. foldMap f
$ [min j b .. max j b]
drawSubInventory :: SubInventory -> Configuration -> World -> Picture
drawSubInventory subinv cfig w = case subinv of
@@ -181,14 +181,15 @@ drawExamineInventory cfig w =
<> drawSelectionList
secondColumnParams
cfig
( map f
( makeParagraph 55 $
yourAugmentedItem
itemInfo
(yourInfo (you w))
(closeObjectInfo (crNumFreeSlots (you w)))
w
)
( map
f
( makeParagraph 55 $
yourAugmentedItem
itemInfo
(yourInfo (you w))
(closeObjectInfo (crNumFreeSlots (you w)))
w
)
)
where
f str =
@@ -216,7 +217,7 @@ floorItemPickupInfo n itm
yourAugmentedItem :: (Item -> a) -> a -> (Either FloorItem Button -> a) -> World -> a
yourAugmentedItem f x g w = case you w ^? crManipulation . manObject of
Just (SelectedItem i _ _) -> f $ yourInv w ^?! ix i
Just (SelCloseObject i) -> g $ w ^?! hud . closeObjects . ix i
Just (SelCloseObject i) -> g . Left $ w ^?! hud . closeItems . ix i
_ -> x
drawRBOptions :: Configuration -> World -> Picture
@@ -323,7 +324,7 @@ combineInventoryExtra sss msel cfig w = fromMaybe mempty $ do
let col = _siColor si
lnks <- si ^? siPayload . ciInvIDs
return (lnkMidPosInvSelsCol cfig w j col lnks)
<> foldMap invcursor lnks
<> foldMap invcursor lnks
where
invcursor i = do
sss' <- w ^? hud . hudElement . diSections
@@ -344,7 +345,7 @@ drawTerminalDisplay tid cfig w = fromMaybe mempty $ do
invHead cfig (_tmTitle tm ++ ":T" ++ show tid)
<> drawSelectionList secondColumnParams cfig (thesellist tm)
<> color (withAlpha 0.5 green) (drawSelectionListBackground secondColumnParams cfig 15)
-- when changing the 15, change isOverTerminalScreen
-- when changing the 15, change isOverTerminalScreen
<> color (dark $ _tmExternalColor tm) (drawTitleBackground cfig)
where
toselitm (str, col) = SelectionItem [str] 1 True col 0 ()
@@ -361,7 +362,8 @@ drawTerminalDisplay tid cfig w = fromMaybe mempty $ do
displayInputText tm s
| _tmStatus tm == TerminalReady = partcommand tm ++ getPromptTM (tm ^. tmType) ++ s
| otherwise = ""
-- | hasfoc = clockCycle 10 (V.fromList [[cFilledRect] , "."]) w
-- | hasfoc = clockCycle 10 (V.fromList [[cFilledRect] , "."]) w
lnkMidPosInvSelsCol :: Configuration -> World -> Int -> Color -> [Int] -> Picture
lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f
+1 -1
View File
@@ -26,7 +26,7 @@ drawSelectionSections sss ldp cfig =
(_ldpScale ldp)
0
(foldMap
(\ss -> fmap (translate (100*fromIntegral (_ssIndent ss)) 0) $ _ssShownItems ss) sss)
(\ss -> translate (100*fromIntegral (_ssIndent ss)) 0 <$> _ssShownItems ss) sss)
drawSSCursor ::
IM.IntMap (SelectionSection a) ->
+1 -1
View File
@@ -453,7 +453,7 @@ pauseGame u = u & uvScreenLayers .~ [pauseMenu u]
spaceAction :: World -> World
spaceAction w = case w ^. hud . hudElement of
DisplayCarte -> w & hud . carteCenter .~ theLoc
DisplayInventory{_subInventory = NoSubInventory{}} -> case selectedCloseObject w of
DisplayInventory{_subInventory = NoSubInventory{}} -> case Left <$> selectedCloseItem w of
Just (Left flit) ->
pickUpItem 0 flit w
& worldEventFlags . at InventoryChange ?~ ()
+61 -61
View File
@@ -2324,7 +2324,8 @@ _cldtUp src/Dodge/Data/DoubleTree.hs 46;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 46;" f
_clickWorldPos src/Dodge/Data/Input.hs 48;" f
_closeObjects src/Dodge/Data/HUD.hs 53;" f
_closeInterfaces src/Dodge/Data/HUD.hs 54;" f
_closeItems src/Dodge/Data/HUD.hs 53;" 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
@@ -3432,7 +3433,7 @@ attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 66;" f
attribSize src/Shader/Compile.hs 306;" f
augInvDirectSelect src/Dodge/Inventory.hs 276;" f
augInvDirectSelect src/Dodge/Inventory.hs 277;" f
augmentedHUD src/Dodge/Item/Scope.hs 47;" f
autoAmr src/Dodge/Item/Held/Rod.hs 51;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 362;" f
@@ -3569,9 +3570,9 @@ centroidNum src/Geometry/Polygon.hs 133;" f
chainCreatureUpdates src/Dodge/Creature/ChainUpdates.hs 6;" f
chainLinkOrientation src/Dodge/Creature/State.hs 183;" f
chainPairs src/Geometry.hs 363;" f
changeSwapClose src/Dodge/Inventory.hs 168;" f
changeSwapSel src/Dodge/Inventory.hs 160;" f
changeSwapWith src/Dodge/Inventory.hs 270;" f
changeSwapClose src/Dodge/Inventory.hs 166;" f
changeSwapSel src/Dodge/Inventory.hs 158;" f
changeSwapWith src/Dodge/Inventory.hs 271;" f
charToTuple src/Picture/Base.hs 317;" f
charToTupleGrad src/Picture/Text.hs 18;" f
chargeIfEquipped src/Dodge/ItEffect.hs 54;" f
@@ -3596,7 +3597,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 160;" f
chooseCursorBorders src/Dodge/Render/List.hs 161;" 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
@@ -3630,11 +3631,11 @@ clickGetCreature src/Dodge/Debug.hs 83;" f
clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 215;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 68;" f
closeObjEq src/Dodge/Inventory/CloseObject.hs 15;" f
closeObjPos src/Dodge/Inventory/CloseObject.hs 10;" f
closeObjectInfo src/Dodge/Render/HUD.hs 204;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 68;" f
closeObjectInfo src/Dodge/Render/HUD.hs 205;" f
closestCreatureID src/Dodge/Debug.hs 92;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
@@ -3668,7 +3669,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 314;" f
combineInventoryExtra src/Dodge/Render/HUD.hs 315;" f
combineItemListYouX src/Dodge/Combine.hs 33;" f
combineList src/Dodge/Combine.hs 20;" f
combineRooms src/Dodge/Room/Procedural.hs 152;" f
@@ -3801,7 +3802,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 219;" f
dShadCol src/Dodge/Render/List.hs 220;" f
damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
damToExpBarrel src/Dodge/Barreloid.hs 57;" f
damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f
@@ -3890,7 +3891,7 @@ defaultCreatureTargeting src/Dodge/Default/Creature.hs 63;" f
defaultCrystalWall src/Dodge/Default/Wall.hs 40;" f
defaultDirtBlock src/Dodge/Default/Block.hs 19;" f
defaultDirtWall src/Dodge/Default/Wall.hs 61;" f
defaultDisplayInventory src/Dodge/Default/World.hs 162;" f
defaultDisplayInventory src/Dodge/Default/World.hs 163;" f
defaultDoor src/Dodge/Default/Door.hs 29;" f
defaultDoorWall src/Dodge/Default/Wall.hs 32;" f
defaultDrawButton src/Dodge/Button/Draw.hs 28;" f
@@ -3946,7 +3947,7 @@ denormalEdges src/Polyhedra.hs 136;" f
destroyAt src/Dodge/Bullet.hs 201;" f
destroyBlock src/Dodge/Block.hs 56;" f
destroyDoor src/Dodge/Block.hs 85;" f
destroyInvItem src/Dodge/Inventory.hs 52;" f
destroyInvItem src/Dodge/Inventory.hs 51;" f
destroyLS src/Dodge/LightSource.hs 91;" f
destroyLSFlashAt src/Dodge/LightSource.hs 101;" f
destroyMachine src/Dodge/Machine/Destroy.hs 12;" f
@@ -3976,7 +3977,8 @@ disconnectTerminal src/Dodge/Terminal.hs 217;" f
displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 39;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 202;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 207;" f
displayIndents src/Dodge/DisplayInventory.hs 120;" f
displaySectionsSizes src/Dodge/DisplayInventory.hs 115;" f
displayTerminalLineString src/Dodge/Update.hs 422;" f
dist src/Geometry/Vector.hs 179;" f
@@ -4041,7 +4043,7 @@ doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Camera.hs 141;" f
doSectionSize src/Dodge/DisplayInventory.hs 224;" f
doSectionSize src/Dodge/DisplayInventory.hs 229;" f
doSideEffects appDodge/Main.hs 118;" f
doStep src/Dodge/ArcStep.hs 9;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 164;" f
@@ -4106,9 +4108,9 @@ drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f
drawDrag src/Dodge/Render/Picture.hs 164;" f
drawDragDrop src/Dodge/Render/Picture.hs 175;" f
drawDragPickup src/Dodge/Render/Picture.hs 184;" f
drawDragSelect src/Dodge/Render/HUD.hs 145;" f
drawDragSelect src/Dodge/Render/HUD.hs 143;" f
drawDragSelect src/Dodge/Render/Picture.hs 161;" f
drawDragSelected src/Dodge/Render/HUD.hs 134;" f
drawDragSelected src/Dodge/Render/HUD.hs 130;" f
drawEmptySet src/Dodge/Render/Picture.hs 112;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 8;" f
drawEquipment src/Dodge/Creature/Picture.hs 140;" f
@@ -4121,19 +4123,18 @@ drawFooterText src/Dodge/Render/MenuScreen.hs 74;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 224;" f
drawGib src/Dodge/Prop/Draw.hs 28;" f
drawHP src/Dodge/Render/HUD.hs 54;" f
drawHUD src/Dodge/Render/HUD.hs 46;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 21;" f
drawInspectWall src/Dodge/Debug/Picture.hs 209;" f
drawInspectWalls src/Dodge/Debug/Picture.hs 197;" f
drawInventory src/Dodge/Render/HUD.hs 63;" f
drawInventory src/Dodge/Render/HUD.hs 53;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
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 213;" f
drawListElement src/Dodge/Render/List.hs 191;" f
drawList src/Dodge/Render/List.hs 214;" f
drawListElement src/Dodge/Render/List.hs 192;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 99;" f
drawListYoff src/Dodge/Render/List.hs 96;" f
drawMachine src/Dodge/Machine/Draw.hs 17;" f
@@ -4143,7 +4144,7 @@ drawMenuCursor src/Dodge/Render/Picture.hs 145;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 57;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 15;" f
drawMouseCursor src/Dodge/Render/Picture.hs 73;" f
drawMouseOver src/Dodge/Render/HUD.hs 111;" f
drawMouseOver src/Dodge/Render/HUD.hs 102;" f
drawMousePosition src/Dodge/Debug/Picture.hs 319;" f
drawMovingShape src/Dodge/Prop/Draw.hs 67;" f
drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f
@@ -4157,13 +4158,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 222;" f
drawRBOptions src/Dodge/Render/HUD.hs 223;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 7;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 30;" f
drawReturn src/Dodge/Render/Picture.hs 118;" f
drawRootCursor src/Dodge/Render/HUD.hs 78;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 30;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 41;" f
drawRootCursor src/Dodge/Render/HUD.hs 69;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 31;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 42;" f
drawSelect src/Dodge/Render/Picture.hs 203;" f
drawSelectionList src/Dodge/Render/List.hs 35;" f
drawSelectionListBackground src/Dodge/Render/List.hs 51;" f
@@ -4182,7 +4183,7 @@ drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f
drawTargeting src/Dodge/Targeting/Draw.hs 13;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 340;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 341;" f
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 57;" f
@@ -4227,10 +4228,10 @@ encircle src/Dodge/Creature/Boid.hs 115;" f
encircleCloseP src/Dodge/Creature/Boid.hs 35;" f
encircleDistP src/Dodge/Creature/Boid.hs 21;" f
encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 338;" f
enterCombineInv src/Dodge/DisplayInventory.hs 343;" f
eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 6;" f
equipAllocString src/Dodge/Render/HUD.hs 280;" f
equipAllocString src/Dodge/Render/HUD.hs 281;" f
equipInfo src/Dodge/Item/Info.hs 103;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 65;" f
equipPosition src/Dodge/Item/Draw.hs 30;" f
@@ -4276,7 +4277,7 @@ fdiv src/ShortShow.hs 27;" f
feet src/Dodge/Creature/Picture.hs 51;" f
ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 169;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 174;" f
findBlips src/Dodge/RadarSweep.hs 44;" f
findBoundDists src/Dodge/Update/Camera.hs 235;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
@@ -4322,7 +4323,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 209;" f
floorItemPickupInfo src/Dodge/Render/HUD.hs 210;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 119;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f
@@ -4405,7 +4406,7 @@ getNodePos src/Dodge/Path.hs 31;" f
getPretty src/AesonHelp.hs 7;" f
getPrettyShort src/AesonHelp.hs 10;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 101;" f
getRootItemBounds src/Dodge/Render/HUD.hs 92;" f
getSensor src/Dodge/Terminal.hs 189;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 17;" f
getSplitString src/Dodge/Debug/Terminal.hs 123;" f
@@ -4588,9 +4589,9 @@ interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 188;" f
invCursorParams src/Dodge/ListDisplayParams.hs 38;" f
invDimColor src/Dodge/DisplayInventory.hs 196;" f
invDimColor src/Dodge/DisplayInventory.hs 201;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f
invHead src/Dodge/Render/HUD.hs 377;" f
invHead src/Dodge/Render/HUD.hs 379;" f
invLDT src/Dodge/Item/Grammar.hs 171;" f
invRootMap src/Dodge/Item/Grammar.hs 180;" f
invRootTrees src/Dodge/Item/Grammar.hs 210;" f
@@ -4601,8 +4602,8 @@ invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 30;" f
invTrees src/Dodge/Item/Grammar.hs 198;" f
invTrees' src/Dodge/Item/Grammar.hs 202;" f
inventoryExtra src/Dodge/Render/HUD.hs 289;" f
inventoryExtraH src/Dodge/Render/HUD.hs 300;" f
inventoryExtra src/Dodge/Render/HUD.hs 290;" f
inventoryExtraH src/Dodge/Render/HUD.hs 301;" f
inventoryX src/Dodge/Creature.hs 115;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 256;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 243;" f
@@ -4621,7 +4622,6 @@ isAnimate src/Dodge/Creature/Test.hs 136;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f
isConnected src/Dodge/Inventory.hs 254;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f
isFilteringInv src/Dodge/Inventory.hs 315;" f
isFrictionless src/Dodge/Creature/State.hs 341;" f
isGas src/Dodge/Euse.hs 64;" f
isInLnk src/Dodge/PlacementSpot.hs 160;" f
@@ -4761,15 +4761,15 @@ 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 139;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 140;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 330;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 335;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 107;" f
llright src/Dodge/Item/Grammar.hs 114;" f
lmt src/MatrixHelper.hs 43;" f
lnkBothAnd src/Dodge/Room/Procedural.hs 121;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 366;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 368;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
@@ -5182,7 +5182,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 70;" f
placeString src/Dodge/Render/MenuScreen.hs 63;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 162;" f
plainRegex src/Dodge/DisplayInventory.hs 199;" f
plainRegex src/Dodge/DisplayInventory.hs 204;" f
plateCraft src/Dodge/Item/Craftable.hs 45;" f
playIfFree src/Sound.hs 136;" f
playPositionalSoundQueue src/Sound.hs 144;" f
@@ -5412,7 +5412,7 @@ refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 39;" f
regexCombs src/Dodge/DisplayInventory.hs 70;" f
regexIn src/Regex.hs 4;" f
regexList src/Dodge/DisplayInventory.hs 372;" f
regexList src/Dodge/DisplayInventory.hs 377;" f
regexList src/Regex.hs 7;" f
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
reloadLevelStart src/Dodge/Save.hs 71;" f
@@ -5432,7 +5432,7 @@ renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
renderLayer src/Render.hs 233;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 196;" f
renderListAt src/Dodge/Render/List.hs 197;" f
renderShadows src/Render.hs 117;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
@@ -5469,7 +5469,7 @@ rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 65;" f
rmInvItem src/Dodge/Inventory.hs 64;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f
rmOutLinks src/Dodge/RoomLink.hs 138;" f
roomC src/Dodge/Room/Room.hs 38;" f
@@ -5562,8 +5562,8 @@ screenPolygon src/Dodge/Base/Window.hs 17;" f
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 284;" f
scrollAugNextInSection src/Dodge/Inventory.hs 297;" f
scrollAugInvSel src/Dodge/Inventory.hs 285;" f
scrollAugNextInSection src/Dodge/Inventory.hs 298;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 135;" f
scrollCommands src/Dodge/Update/Scroll.hs 132;" f
scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
@@ -5583,21 +5583,21 @@ seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 372;" f
seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 530;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f
secondColumnParams src/Dodge/ListDisplayParams.hs 45;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 208;" f
sectionsSizes src/Dodge/DisplayInventory.hs 213;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 213;" f
sectionsSizes src/Dodge/DisplayInventory.hs 218;" 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 426;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 449;" f
selSecDrawCursor src/Dodge/Render/List.hs 129;" f
selNumPos src/Dodge/Render/HUD.hs 428;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 451;" f
selSecDrawCursor src/Dodge/Render/List.hs 130;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 108;" f
selSecSelCol src/Dodge/Render/HUD.hs 472;" f
selSecSelCol src/Dodge/Render/HUD.hs 476;" f
selSecSelSize src/Dodge/SelectionSections.hs 182;" f
selSecYint src/Dodge/SelectionSections.hs 191;" f
selectCreatureDebugItem src/Dodge/Debug.hs 39;" f
selectUse src/Dodge/SelectUse.hs 10;" f
selectedCloseObject src/Dodge/Inventory.hs 308;" f
selectedCloseItem src/Dodge/Inventory.hs 309;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 69;" f
senseDamage src/Dodge/Machine/Update.hs 152;" f
@@ -5871,11 +5871,11 @@ stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 50;" f
subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapAnyExtraSelection src/Dodge/Inventory.hs 236;" f
swapAnyExtraSelection src/Dodge/Inventory.hs 235;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f
swapIndices src/ListHelp.hs 50;" f
swapInvItems src/Dodge/Inventory.hs 186;" f
swapItemWith src/Dodge/Inventory.hs 260;" f
swapInvItems src/Dodge/Inventory.hs 184;" f
swapItemWith src/Dodge/Inventory.hs 261;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 171;" f
switchDoor src/Dodge/Placement/Instance/Door.hs 96;" f
@@ -5974,7 +5974,7 @@ toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 119;" f
toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 223;" f
toTopLeft src/Dodge/Render/List.hs 224;" f
toV2 src/Geometry/Data.hs 36;" f
toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f
@@ -6120,7 +6120,7 @@ updateCreatureGroups src/Dodge/Update.hs 492;" f
updateCreatureSoundPositions src/Dodge/Update.hs 468;" f
updateDebugMessageOffset src/Dodge/Update.hs 92;" f
updateDelayedEvents src/Dodge/Update.hs 771;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 120;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 127;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 513;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
@@ -6184,8 +6184,8 @@ updateRootItemID src/Dodge/Inventory/Location.hs 35;" f
updateScopeZoom src/Dodge/Update/Camera.hs 127;" f
updateScopeZoom' src/Dodge/Update/Camera.hs 132;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 279;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 250;" f
updateSection src/Dodge/DisplayInventory.hs 284;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 255;" f
updateSeenWalls src/Dodge/Update.hs 660;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 534;" f
@@ -6363,7 +6363,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 186;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 216;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 217;" 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