Implement simple indenting in selection menu
This commit is contained in:
+1
-50
@@ -1,50 +1 @@
|
||||
/home/justin/Haskell/loop/src/Dodge/Render/List.hs:80:1-21: warning: [-Wunused-top-binds]
|
||||
Defined but not used: ‘drawTreeYgapScaleYoff’
|
||||
|
|
||||
80 | drawTreeYgapScaleYoff ygap s i = undefined
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/Render/List.hs:80:23-26: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ygap’
|
||||
|
|
||||
80 | drawTreeYgapScaleYoff ygap s i = undefined
|
||||
| ^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/Render/List.hs:80:28: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘s’
|
||||
|
|
||||
80 | drawTreeYgapScaleYoff ygap s i = undefined
|
||||
| ^
|
||||
/home/justin/Haskell/loop/src/Dodge/Render/List.hs:80:30: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘i’
|
||||
|
|
||||
80 | drawTreeYgapScaleYoff ygap s i = undefined
|
||||
| ^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:12:1-28: warning: [-Wunused-imports]
|
||||
The import of ‘Dodge.Data.DoubleTree’ is redundant
|
||||
|
|
||||
12 | import Dodge.Data.DoubleTree
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:15:1-48: warning: [-Wunused-imports]
|
||||
The qualified import of ‘Data.IntMap.Merge.Strict’ is redundant
|
||||
|
|
||||
15 | import qualified Data.IntMap.Merge.Strict as MIM
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:27:1-25: warning: [-Wunused-imports]
|
||||
The import of ‘Dodge.Item.Grammar’ is redundant
|
||||
|
|
||||
27 | import Dodge.Item.Grammar
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:119:5-13: warning: [-Wunused-local-binds]
|
||||
Defined but not used: ‘addindent’
|
||||
|
|
||||
119 | addindent x y = y & siPictures %~ map (x ++)
|
||||
| ^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:254:1-23: warning: [-Wunused-top-binds]
|
||||
Defined but not used: ‘displaySelectionSection’
|
||||
|
|
||||
254 | displaySelectionSection ss = undefined
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/DisplayInventory.hs:254:25-26: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ss’
|
||||
|
|
||||
254 | displaySelectionSection ss = undefined
|
||||
| ^^
|
||||
All good (615 modules, at 18:14:34)
|
||||
|
||||
@@ -17,9 +17,24 @@ data DoubleTreeNodeType
|
||||
| DTMidBelowNode
|
||||
| DTBottomNode
|
||||
|
||||
-- for each child, records the link type to the father node
|
||||
data LabelDoubleTreeNodeType a
|
||||
= LDTRootNode
|
||||
| LDTTopNode a
|
||||
| LDTMidAboveNode a
|
||||
| LDTMidBelowNode a
|
||||
| LDTBottomNode a
|
||||
|
||||
data DoubleTree a = DT {_dtValue :: a,_dtLeft :: [DoubleTree a],_dtRight :: [DoubleTree a]}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
|
||||
--data FLatLabelDoubleTreeNode b a = FLDT
|
||||
-- {_fldtValue :: a
|
||||
-- ,_fldtType ::
|
||||
-- ,_fldtIndentation :: Int
|
||||
-- ,_fldtID :: Int
|
||||
-- ,_fldtChildren =
|
||||
|
||||
data LabelDoubleTree b a = LDT {_ldtValue :: a, _ldtLeft :: [(b,LabelDoubleTree b a)]
|
||||
,_ldtRight :: [(b,LabelDoubleTree b a)]}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
|
||||
@@ -9,10 +9,9 @@ module Dodge.DisplayInventory (
|
||||
updateCombinePositioning,
|
||||
) where
|
||||
|
||||
import Dodge.Data.DoubleTree
|
||||
import Control.Monad
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.IntMap.Merge.Strict as MIM
|
||||
--import qualified Data.IntMap.Merge.Strict as MIM
|
||||
import Data.Maybe
|
||||
import Dodge.Base.You
|
||||
import Dodge.Combine
|
||||
@@ -116,9 +115,8 @@ updateDisplaySections w cfig sss =
|
||||
map closeObjectToSelectionItem (w ^. hud . closeObjects)
|
||||
--invitems' = MIM.merge MIM.dropMissing MIM.dropMissing (MIM.zipWithMatched $ const addindent) indents $ IM.mapWithKey (invSelectionItem cr) inv
|
||||
invitems' = IM.mapWithKey (invSelectionItem cr) inv
|
||||
addindent x y = y & siPictures %~ map (x ++)
|
||||
cr = you w
|
||||
inv = _crInv (you w)
|
||||
inv = invIndentIM $ _crInv (you w)
|
||||
--indents = indentInv inv
|
||||
--inv = indentInv $ _crInv (you w)
|
||||
nfreeslots = crNumFreeSlots cr
|
||||
@@ -150,7 +148,7 @@ updateInventorySectionItems w =
|
||||
where
|
||||
f olditems = fromMaybe olditems $ do
|
||||
cr <- w ^? cWorld . lWorld . creatures . ix 0
|
||||
invitms <- IM.mapWithKey (invSelectionItem cr) <$> cr ^? crInv
|
||||
invitms <- IM.mapWithKey (invSelectionItem' cr) <$> cr ^? crInv
|
||||
return $ case w ^? hud . hudElement . diSections . sssExtra . sssFilters . ix (-1) . _Just of
|
||||
Just str -> IM.filter (plainRegex str) invitms
|
||||
_ -> invitms
|
||||
@@ -250,9 +248,6 @@ updateSection sis mcsel availablelines ss =
|
||||
h (_, str) = translate (fromIntegral (_ssIndent ss) * 100) 0 str
|
||||
theindent = replicate (_ssIndent ss) ' '
|
||||
|
||||
displaySelectionSection :: SelectionSection a -> Picture
|
||||
displaySelectionSection ss = undefined
|
||||
|
||||
listSelectionColorPicture :: Foldable t => t (SelectionItem a) -> [(Color,Picture)]
|
||||
listSelectionColorPicture = foldMap f
|
||||
where
|
||||
|
||||
@@ -2,6 +2,9 @@ module Dodge.DoubleTree where
|
||||
|
||||
import Dodge.Data.DoubleTree
|
||||
|
||||
ldtToDT :: LabelDoubleTree b a -> DoubleTree a
|
||||
ldtToDT (LDT x l r) = DT x (map (ldtToDT . snd) l) (map (ldtToDT . snd) r)
|
||||
|
||||
-- conceptually, in a tree growing from left to right,
|
||||
-- bottom -> top is equated with left -> right.
|
||||
-- this does not match with thinking of a list as top -> bottom, so take care
|
||||
@@ -15,6 +18,30 @@ dtIL nt (DT x l r) = map doindent (concat (headMap (dtIL DTBottomNode) (dtIL DTM
|
||||
where
|
||||
doindent (a,b,c) = (a,b+1,c)
|
||||
|
||||
ldtToIndentList :: LabelDoubleTree b a -> [(a,Int,LabelDoubleTreeNodeType b)]
|
||||
ldtToIndentList = ldtIL LDTRootNode
|
||||
|
||||
ldtIL :: LabelDoubleTreeNodeType b -> LabelDoubleTree b a -> [(a,Int,LabelDoubleTreeNodeType b)]
|
||||
ldtIL nt (LDT x l r) = map doindent
|
||||
(concat
|
||||
(headMap
|
||||
(\(lab,c) -> ldtIL (LDTBottomNode lab) c)
|
||||
(\(lab,c) -> ldtIL (LDTMidBelowNode lab) c)
|
||||
l
|
||||
)
|
||||
)
|
||||
++ [(x,0,nt)]
|
||||
++ map doindent
|
||||
(concat
|
||||
(lastMap
|
||||
(\(lab,c) -> ldtIL (LDTTopNode lab) c)
|
||||
(\(lab,c) -> ldtIL (LDTMidAboveNode lab) c)
|
||||
r
|
||||
)
|
||||
)
|
||||
where
|
||||
doindent (a,b,c) = (a,b+1,c)
|
||||
|
||||
headMap :: (a -> b) -> (a -> b) -> [a] -> [b]
|
||||
headMap f g (x:xs) = f x : map g xs
|
||||
headMap _ _ [] = []
|
||||
@@ -24,3 +51,12 @@ lastMap _ _ [] = []
|
||||
lastMap f _ (x:[]) = [f x]
|
||||
lastMap f g (x:xs) = g x : lastMap f g xs
|
||||
|
||||
prettyDT :: (a -> String) -> DoubleTree a -> [String]
|
||||
prettyDT f (DT x l r) = concatMap (map ('/':) . prettyDT f) r
|
||||
++ (f x : concatMap (map ('\\':) . prettyDT f) l)
|
||||
|
||||
prettyLDT :: (a -> String) -> LabelDoubleTree b a -> [String]
|
||||
prettyLDT f (LDT x l r) = concatMap (map ('/':) . prettyLDT f . snd) r
|
||||
++ (f x : concatMap (map ('\\':) . prettyLDT f . snd) l)
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
module Dodge.Inventory.SelectionList (
|
||||
invSelectionItem,
|
||||
invSelectionItem',
|
||||
closeObjectToSelectionItem,
|
||||
) where
|
||||
|
||||
@@ -13,8 +14,8 @@ import Dodge.Item.InventoryColor
|
||||
import LensHelp
|
||||
import Picture.Base
|
||||
|
||||
invSelectionItem :: Creature -> Int -> Item -> SelectionItem ()
|
||||
invSelectionItem cr i it =
|
||||
invSelectionItem' :: Creature -> Int -> Item -> SelectionItem ()
|
||||
invSelectionItem' cr i it =
|
||||
SelectionItem
|
||||
{ _siPictures = pics & ix 0 %~ (++ anyequippos ++ anyhotkey)
|
||||
, _siHeight = itSlotsTaken it
|
||||
@@ -31,6 +32,24 @@ invSelectionItem cr i it =
|
||||
UndroppableIdentified -> itemDisplay cr it
|
||||
_ -> itemDisplay cr it
|
||||
|
||||
invSelectionItem :: Creature -> Int -> (Item,Int,a) -> SelectionItem ()
|
||||
invSelectionItem cr i (it,indent,_) =
|
||||
SelectionItem
|
||||
{ _siPictures = pics & ix 0 %~ (++ anyequippos ++ anyhotkey)
|
||||
, _siHeight = itSlotsTaken it
|
||||
, _siIsSelectable = True
|
||||
, _siColor = col
|
||||
, _siOffX = indent
|
||||
, _siPayload = ()
|
||||
}
|
||||
where
|
||||
anyhotkey = maybe [] ((' ':) .hotkeyToString) (cr ^? crInvHotkeys . ix i)
|
||||
anyequippos = maybe [] (rightPad 8 ' ' . (' ':) . eqPosText) (cr ^? crInvEquipped . ix i)
|
||||
col = itemInvColor it
|
||||
pics = case _itCurseStatus it of
|
||||
UndroppableIdentified -> itemDisplay cr it
|
||||
_ -> itemDisplay cr it
|
||||
|
||||
hotkeyToString :: Hotkey -> String
|
||||
hotkeyToString x = case x of
|
||||
HotkeyQ -> "[Q]"
|
||||
|
||||
+79
-80
@@ -14,28 +14,20 @@ import qualified Data.IntMap.Strict as IM
|
||||
import Control.Lens
|
||||
import Dodge.DoubleTree
|
||||
|
||||
type PCI = (ComposedItem, [ComposedItem], [ComposedItem])
|
||||
|
||||
type PCI' = (Item,ComposedItem,[ComposedItem], [ComposedItem])
|
||||
|
||||
type PCI'' = (Item,ComposedItem,[(ComposeLinkType,ComposedItem)], [(ComposeLinkType,ComposedItem)])
|
||||
type ComposedItemStructure
|
||||
= (Item,ComposedItem,[(ComposeLinkType,ComposedItem)], [(ComposeLinkType,ComposedItem)])
|
||||
|
||||
type CIL = (ComposedItem,[(ComposeLinkType,ComposedItem)], [(ComposeLinkType,ComposedItem)])
|
||||
|
||||
cisToItem :: ComposedItemStructure -> Item
|
||||
cisToItem (x,_,_,_) = x
|
||||
|
||||
singleDT :: a -> DoubleTree a
|
||||
singleDT x = DT x [] []
|
||||
|
||||
singleLDT :: a -> LabelDoubleTree b a
|
||||
singleLDT x = LDT x [] []
|
||||
|
||||
baseComposedItem :: ItemBaseType -> PCI
|
||||
baseComposedItem ibt = case ibt of
|
||||
HELD BURSTRIFLE -> (WeaponCI, [BulletAmmoCI], [])
|
||||
AMMOMAG TINMAG -> (BulletAmmoCI, [AmmoModifierCI], [])
|
||||
AMMOMAG DRUMMAG -> (BulletAmmoCI, [AmmoModifierCI], [])
|
||||
ATTACH BULLETSYNTHESIZER -> (AmmoModifierCI, [], [])
|
||||
_ -> (UncomposableCI, [], [])
|
||||
|
||||
baseComposedItem' :: ItemBaseType -> CIL
|
||||
baseComposedItem' ibt = case ibt of
|
||||
HELD BURSTRIFLE -> (WeaponCI, [(AmmoInLink,BulletAmmoCI)], [])
|
||||
@@ -44,31 +36,24 @@ baseComposedItem' ibt = case ibt of
|
||||
ATTACH BULLETSYNTHESIZER -> (AmmoModifierCI, [], [])
|
||||
_ -> (UncomposableCI, [], [])
|
||||
|
||||
basePCI :: Item -> PCI''
|
||||
basePCI itm = let (a,b,c) = baseComposedItem' (itm ^. itType . iyBase)
|
||||
baseCIS :: Item -> ComposedItemStructure
|
||||
baseCIS itm = let (a,b,c) = baseComposedItem' (itm ^. itType . iyBase)
|
||||
in (itm, a, b, c)
|
||||
|
||||
baseCI :: Item -> PCI'
|
||||
baseCI itm = let (a,b,c) = baseComposedItem (itm ^. itType . iyBase)
|
||||
in (itm, a, b, c)
|
||||
|
||||
combineMaybe :: (a -> a -> Maybe b) -> (a -> a -> b -> a) -> a -> a -> Maybe a
|
||||
combineMaybe t f x y = fmap (f x y) (t x y)
|
||||
|
||||
type LDTTest a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe b
|
||||
type LDTCombine a b = LabelDoubleTree b a -> LabelDoubleTree b a -> b -> LabelDoubleTree b a
|
||||
|
||||
type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a)
|
||||
|
||||
-- the following imposes a strict ordering on the possible attachments
|
||||
leftIsParentCombine :: LDTComb PCI'' ComposeLinkType
|
||||
leftIsParentCombine :: LDTComb ComposedItemStructure ComposeLinkType
|
||||
leftIsParentCombine (LDT (itm,p,lc,rc) lt rt) t'@(LDT (_,p',_,_) _ _) = do
|
||||
let f (_,x) = p' == x
|
||||
(_,ys) = break f rc
|
||||
(linktype,_) <- safeHead ys
|
||||
return $ LDT (itm,p,lc,tail ys) lt (rt ++ [(linktype,t')])
|
||||
|
||||
rightIsParentCombine :: LDTComb PCI'' ComposeLinkType
|
||||
rightIsParentCombine :: LDTComb ComposedItemStructure ComposeLinkType
|
||||
rightIsParentCombine t'@(LDT (_,p',_,_) _ _) (LDT (itm,p,lc,rc) lt rt) = do
|
||||
let f (_,x) = p' == x
|
||||
(_,ys) = break f lc
|
||||
@@ -86,19 +71,6 @@ leftRightCombine f f' t1 t2 = f t1 t2
|
||||
return $ Just $ LDT x ((lab,tx):tail ls) rs
|
||||
checktop t t' = f' t t'
|
||||
|
||||
joinItems :: DoubleTree PCI' -> DoubleTree PCI' -> Maybe (DoubleTree PCI')
|
||||
joinItems t@(DT (itm,px,lc',rc') ls' rs') s@(DT (_,py,_,_) _ _)
|
||||
| py `elem` rc' = Just (DT (itm,px,lc', delete py rc') ls' (rs' ++ [s]))
|
||||
| otherwise = checkdepth t s
|
||||
where
|
||||
checkdepth a a'@(DT b ls rs) = fromMaybe (checktop a a') $ do
|
||||
c <- safeHead ls
|
||||
d <- checkdepth a c
|
||||
return $ Just $ DT b (d:tail ls) rs
|
||||
checktop a@(DT (_,pa,_,_) _ _) (DT (itm2,pb,lc,rc) ls rs)
|
||||
| pa `elem` lc = Just (DT (itm2,pb, delete pa lc,rc) (a:ls) rs)
|
||||
| otherwise = Nothing
|
||||
|
||||
joinItemsInList :: (a -> a -> Maybe a) -> [a] -> [a]
|
||||
joinItemsInList f xs = snd $ h (xs,[])
|
||||
where
|
||||
@@ -108,52 +80,79 @@ joinItemsInList f xs = snd $ h (xs,[])
|
||||
Nothing -> h (ys, (y:z:zs))
|
||||
Just w -> h ((w:ys),zs)
|
||||
|
||||
indentDoubleTreeWith :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
indentDoubleTreeWith f g h (DT x l r) = DT x
|
||||
(headMap (iDTL f g h) (iDTboth f g h) l)
|
||||
(lastMap (iDTR f g h) (iDTboth f g h) r)
|
||||
|
||||
iDTL :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
iDTL fspace fline flink (DT x l r) = DT (flink x)
|
||||
(map (fmap fspace . indentDoubleTreeWith fspace fline flink) l)
|
||||
(map (fmap fline . indentDoubleTreeWith fspace fline flink) r)
|
||||
|
||||
iDTR :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
iDTR fspace fline flink (DT x l r) = DT (flink x)
|
||||
(map (fmap fline . indentDoubleTreeWith fspace fline flink) l)
|
||||
(map (fmap fspace . indentDoubleTreeWith fspace fline flink) r)
|
||||
|
||||
iDTboth :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
iDTboth fspace fline flink (DT x l r) = DT (flink x)
|
||||
(map (fmap fline . indentDoubleTreeWith fspace fline flink) l)
|
||||
(map (fmap fline . indentDoubleTreeWith fspace fline flink) r)
|
||||
|
||||
flattenDT :: DoubleTree a -> [a]
|
||||
flattenDT (DT x l r) = concatMap flattenDT l ++ (x : concatMap flattenDT r)
|
||||
|
||||
prettyDT :: (a -> String) -> DoubleTree a -> [String]
|
||||
prettyDT f (DT x l r) = concatMap (map ('/':) . prettyDT f) r
|
||||
++ (f x : concatMap (map ('\\':) . prettyDT f) l)
|
||||
|
||||
prettyLDT :: (a -> String) -> LabelDoubleTree b a -> [String]
|
||||
prettyLDT f (LDT x l r) = concatMap (map ('/':) . prettyLDT f . snd) r
|
||||
++ (f x : concatMap (map ('\\':) . prettyLDT f . snd) l)
|
||||
|
||||
invTree :: IM.IntMap Item -> [String]
|
||||
invTree = concatMap (prettyDT (\(itm,_,_,_) -> show (_itType itm))) .
|
||||
joinItemsInList joinItems . IM.elems . fmap (singleDT . baseCI)
|
||||
|
||||
--indentInv :: IM.IntMap Item -> IM.IntMap String
|
||||
--indentInv = IM.fromList . zip [0..] .
|
||||
-- reverse . concatMap (flattenDT .indentDoubleTreeWith (' ':) ('|':) ('+':) . fmap (const "")) .
|
||||
-- joinItemsInList joinItems . IM.elems . fmap (singleDT . baseCI)
|
||||
|
||||
--invLDT :: IM.IntMap Item -> [LabelDoubleTree ComposeLinkType PCI'']
|
||||
invLDT :: IM.IntMap Item -> [LabelDoubleTree ComposeLinkType PCI'']
|
||||
invLDT :: IM.IntMap Item -> [LabelDoubleTree ComposeLinkType ComposedItemStructure]
|
||||
invLDT = joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems .
|
||||
fmap (singleLDT . basePCI)
|
||||
fmap (singleLDT . baseCIS)
|
||||
|
||||
invIndentIM' :: IM.IntMap Item -> IM.IntMap (Item,Int, ())
|
||||
invIndentIM' = fmap (\x -> (x,0,()))
|
||||
|
||||
invIndentIM :: IM.IntMap Item -> IM.IntMap (Item,Int, LabelDoubleTreeNodeType ComposeLinkType )
|
||||
invIndentIM = IM.fromAscList . zip [0..] . reverse . map (over _1 cisToItem) . concatMap ldtToIndentList . invLDT
|
||||
|
||||
--indentInv :: IM.IntMap Item -> [String]
|
||||
--indentInv = concat . fmap (flattenDT . indentDoubleTreeWith (' ':) ('|':) ('+':) . fmap const "")
|
||||
-- . joinItemsInList joinItems
|
||||
-- . IM.toList . fmap (singleDT . baseComposedItem)
|
||||
--
|
||||
--type PCI = (ComposedItem, [ComposedItem], [ComposedItem])
|
||||
--
|
||||
--type PCI' = (Item,ComposedItem,[ComposedItem], [ComposedItem])
|
||||
|
||||
--baseComposedItem :: ItemBaseType -> PCI
|
||||
--baseComposedItem ibt = case ibt of
|
||||
-- HELD BURSTRIFLE -> (WeaponCI, [BulletAmmoCI], [])
|
||||
-- AMMOMAG TINMAG -> (BulletAmmoCI, [AmmoModifierCI], [])
|
||||
-- AMMOMAG DRUMMAG -> (BulletAmmoCI, [AmmoModifierCI], [])
|
||||
-- ATTACH BULLETSYNTHESIZER -> (AmmoModifierCI, [], [])
|
||||
-- _ -> (UncomposableCI, [], [])
|
||||
--
|
||||
--baseCI :: Item -> PCI'
|
||||
--baseCI itm = let (a,b,c) = baseComposedItem (itm ^. itType . iyBase)
|
||||
-- in (itm, a, b, c)
|
||||
--
|
||||
--joinItems :: DoubleTree PCI' -> DoubleTree PCI' -> Maybe (DoubleTree PCI')
|
||||
--joinItems t@(DT (itm,px,lc',rc') ls' rs') s@(DT (_,py,_,_) _ _)
|
||||
-- | py `elem` rc' = Just (DT (itm,px,lc', delete py rc') ls' (rs' ++ [s]))
|
||||
-- | otherwise = checkdepth t s
|
||||
-- where
|
||||
-- checkdepth a a'@(DT b ls rs) = fromMaybe (checktop a a') $ do
|
||||
-- c <- safeHead ls
|
||||
-- d <- checkdepth a c
|
||||
-- return $ Just $ DT b (d:tail ls) rs
|
||||
-- checktop a@(DT (_,pa,_,_) _ _) (DT (itm2,pb,lc,rc) ls rs)
|
||||
-- | pa `elem` lc = Just (DT (itm2,pb, delete pa lc,rc) (a:ls) rs)
|
||||
-- | otherwise = Nothing
|
||||
--
|
||||
--invTree :: IM.IntMap Item -> [String]
|
||||
--invTree = concatMap (prettyDT (\(itm,_,_,_) -> show (_itType itm))) .
|
||||
-- joinItemsInList joinItems . IM.elems . fmap (singleDT . baseCI)
|
||||
|
||||
--indentInv :: IM.IntMap Item -> IM.IntMap String
|
||||
--indentInv = IM.fromList . zip [0..] .
|
||||
-- reverse . concatMap (flattenDT .indentDoubleTreeWith (' ':) ('|':) ('+':) . fmap (const "")) .
|
||||
-- joinItemsInList joinItems . IM.elems . fmap (singleDT . baseCI)
|
||||
--
|
||||
--indentDoubleTreeWith :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
--indentDoubleTreeWith f g h (DT x l r) = DT x
|
||||
-- (headMap (iDTL f g h) (iDTboth f g h) l)
|
||||
-- (lastMap (iDTR f g h) (iDTboth f g h) r)
|
||||
--
|
||||
--iDTL :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
--iDTL fspace fline flink (DT x l r) = DT (flink x)
|
||||
-- (map (fmap fspace . indentDoubleTreeWith fspace fline flink) l)
|
||||
-- (map (fmap fline . indentDoubleTreeWith fspace fline flink) r)
|
||||
--
|
||||
--iDTR :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
--iDTR fspace fline flink (DT x l r) = DT (flink x)
|
||||
-- (map (fmap fline . indentDoubleTreeWith fspace fline flink) l)
|
||||
-- (map (fmap fspace . indentDoubleTreeWith fspace fline flink) r)
|
||||
--
|
||||
--iDTboth :: (a -> a) -> (a -> a) -> (a -> a) -> DoubleTree a -> DoubleTree a
|
||||
--iDTboth fspace fline flink (DT x l r) = DT (flink x)
|
||||
-- (map (fmap fline . indentDoubleTreeWith fspace fline flink) l)
|
||||
-- (map (fmap fline . indentDoubleTreeWith fspace fline flink) r)
|
||||
|
||||
--combineMaybe :: (a -> a -> Maybe b) -> (a -> a -> b -> a) -> a -> a -> Maybe a
|
||||
--combineMaybe t f x y = fmap (f x y) (t x y)
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ module Dodge.Render.List (
|
||||
listCursorChooseBorderScale,
|
||||
) where
|
||||
|
||||
import Dodge.Data.DoubleTree
|
||||
import Dodge.SelectionSections
|
||||
import Data.Maybe
|
||||
import Dodge.Base.Window
|
||||
@@ -76,9 +75,6 @@ getLDPWidth ldps = case _ldpWidth ldps of
|
||||
drawListYoff :: Int -> [Picture] -> Picture
|
||||
drawListYoff = drawListYgapScaleYoff 0 1
|
||||
|
||||
drawTreeYgapScaleYoff :: Float -> Float -> Int -> DoubleTree [Picture] -> Picture
|
||||
drawTreeYgapScaleYoff ygap s i = undefined
|
||||
|
||||
drawListYgapScaleYoff :: Float -> Float -> Int -> [Picture] -> Picture
|
||||
drawListYgapScaleYoff ygap s i = mconcat . zipWith (drawListElement ygap s 0) [i ..]
|
||||
|
||||
|
||||
@@ -338,7 +338,7 @@ CAN src/Dodge/Data/Item/Combine.hs 36;" C
|
||||
CDoNothing src/Dodge/Data/Item/HeldUse.hs 34;" C
|
||||
CHARTREUSE src/Color/Data.hs 25;" C
|
||||
CHeal src/Dodge/Data/Item/HeldUse.hs 35;" C
|
||||
CIL src/Dodge/Item/Grammar.hs 23;" t
|
||||
CIL src/Dodge/Item/Grammar.hs 20;" t
|
||||
CIRCLE src/Dodge/Data/GenParams.hs 20;" C
|
||||
CONCUSBUL src/Dodge/Combine/Data.hs 206;" C
|
||||
CONCUSSIVE src/Dodge/Data/Damage/Type.hs 22;" C
|
||||
@@ -457,6 +457,7 @@ Compose src/Dodge/Tree/Compose.hs 4;" m
|
||||
ComposeLinkType src/Dodge/Data/ComposedItem.hs 12;" t
|
||||
ComposedItem src/Dodge/Data/ComposedItem.hs 15;" t
|
||||
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
|
||||
ComposedItemStructure src/Dodge/Item/Grammar.hs 17;" t
|
||||
Composite src/Picture/Composite.hs 1;" m
|
||||
ComsSS src/Dodge/Data/Scenario.hs 98;" C
|
||||
ConcBall src/Dodge/Data/Bullet.hs 32;" C
|
||||
@@ -590,7 +591,7 @@ DRUM src/Dodge/Combine/Data.hs 34;" C
|
||||
DRUMMAG src/Dodge/Combine/Data.hs 199;" C
|
||||
DRUMMAG src/Dodge/Data/Item/Combine.hs 112;" C
|
||||
DS src/DoubleStack.hs 3;" t
|
||||
DT src/Dodge/Data/DoubleTree.hs 20;" C
|
||||
DT src/Dodge/Data/DoubleTree.hs 28;" C
|
||||
DTBottomNode src/Dodge/Data/DoubleTree.hs 18;" C
|
||||
DTMidAboveNode src/Dodge/Data/DoubleTree.hs 16;" C
|
||||
DTMidBelowNode src/Dodge/Data/DoubleTree.hs 17;" C
|
||||
@@ -734,7 +735,7 @@ DoorPart src/Dodge/Data/Wall.hs 50;" C
|
||||
DoorStatus src/Dodge/Data/Door.hs 23;" t
|
||||
DoubleRes src/Dodge/Data/Config.hs 95;" C
|
||||
DoubleStack src/DoubleStack.hs 1;" m
|
||||
DoubleTree src/Dodge/Data/DoubleTree.hs 20;" t
|
||||
DoubleTree src/Dodge/Data/DoubleTree.hs 28;" t
|
||||
DoubleTree src/Dodge/Data/DoubleTree.hs 5;" m
|
||||
DoubleTree src/Dodge/DoubleTree.hs 1;" m
|
||||
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 13;" t
|
||||
@@ -1351,10 +1352,15 @@ LAUNCHHOME src/Dodge/Data/Item/Combine.hs 218;" C
|
||||
LBlink src/Dodge/Data/Item/HeldUse.hs 63;" C
|
||||
LBoost src/Dodge/Data/Item/HeldUse.hs 65;" C
|
||||
LBranches src/TreeExtra.hs 24;" C
|
||||
LDT src/Dodge/Data/DoubleTree.hs 23;" C
|
||||
LDTComb src/Dodge/Item/Grammar.hs 61;" t
|
||||
LDTCombine src/Dodge/Item/Grammar.hs 59;" t
|
||||
LDTTest src/Dodge/Item/Grammar.hs 58;" t
|
||||
LDT src/Dodge/Data/DoubleTree.hs 31;" C
|
||||
LDTBottomNode src/Dodge/Data/DoubleTree.hs 26;" C
|
||||
LDTComb src/Dodge/Item/Grammar.hs 46;" t
|
||||
LDTCombine src/Dodge/Item/Grammar.hs 44;" t
|
||||
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 24;" C
|
||||
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 25;" C
|
||||
LDTRootNode src/Dodge/Data/DoubleTree.hs 22;" C
|
||||
LDTTest src/Dodge/Item/Grammar.hs 43;" t
|
||||
LDTTopNode src/Dodge/Data/DoubleTree.hs 23;" C
|
||||
LDoNothing src/Dodge/Data/Item/HeldUse.hs 58;" C
|
||||
LED src/Dodge/Combine/Data.hs 51;" C
|
||||
LED src/Dodge/Data/Item/Combine.hs 57;" C
|
||||
@@ -1383,7 +1389,8 @@ Label src/Dodge/Render/Label.hs 1;" m
|
||||
LabelAction src/Dodge/Data/ActionPlan.hs 79;" C
|
||||
LabelCluster src/Dodge/Data/RoomCluster.hs 14;" C
|
||||
LabelCluster src/Dodge/RoomCluster/Data.hs 12;" C
|
||||
LabelDoubleTree src/Dodge/Data/DoubleTree.hs 23;" t
|
||||
LabelDoubleTree src/Dodge/Data/DoubleTree.hs 31;" t
|
||||
LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 21;" t
|
||||
LabelLayer src/Dodge/Picture/Layer/Data.hs 11;" C
|
||||
Laboratory src/Dodge/Data/Scenario.hs 61;" C
|
||||
Lamp src/Dodge/Creature/Lamp.hs 1;" m
|
||||
@@ -1856,9 +1863,6 @@ P2Ac src/Dodge/Data/CreatureEffect.hs 53;" t
|
||||
P2Imp src/Dodge/Data/CreatureEffect.hs 28;" t
|
||||
P2ImpNo src/Dodge/Data/CreatureEffect.hs 28;" C
|
||||
P2NoAction src/Dodge/Data/CreatureEffect.hs 53;" C
|
||||
PCI src/Dodge/Item/Grammar.hs 17;" t
|
||||
PCI' src/Dodge/Item/Grammar.hs 19;" t
|
||||
PCI'' src/Dodge/Item/Grammar.hs 21;" t
|
||||
PENBUL src/Dodge/Combine/Data.hs 204;" C
|
||||
PENMODULE src/Dodge/Combine/Data.hs 70;" C
|
||||
PIERCING src/Dodge/Data/Damage/Type.hs 12;" C
|
||||
@@ -3317,9 +3321,9 @@ _drSpeed src/Dodge/Data/Door.hs 45;" f
|
||||
_drStatus src/Dodge/Data/Door.hs 37;" f
|
||||
_drTrigger src/Dodge/Data/Door.hs 38;" f
|
||||
_drWallIDs src/Dodge/Data/Door.hs 36;" f
|
||||
_dtLeft src/Dodge/Data/DoubleTree.hs 20;" f
|
||||
_dtRight src/Dodge/Data/DoubleTree.hs 20;" f
|
||||
_dtValue src/Dodge/Data/DoubleTree.hs 20;" f
|
||||
_dtLeft src/Dodge/Data/DoubleTree.hs 28;" f
|
||||
_dtRight src/Dodge/Data/DoubleTree.hs 28;" f
|
||||
_dtValue src/Dodge/Data/DoubleTree.hs 28;" f
|
||||
_ebColor src/Dodge/Data/EnergyBall.hs 17;" f
|
||||
_ebEff src/Dodge/Data/EnergyBall.hs 21;" f
|
||||
_ebPos src/Dodge/Data/EnergyBall.hs 18;" f
|
||||
@@ -3570,9 +3574,9 @@ _ldpPos src/Dodge/Data/SelectionList.hs 19;" f
|
||||
_ldpScale src/Dodge/Data/SelectionList.hs 20;" f
|
||||
_ldpVerticalGap src/Dodge/Data/SelectionList.hs 21;" f
|
||||
_ldpWidth src/Dodge/Data/SelectionList.hs 23;" f
|
||||
_ldtLeft src/Dodge/Data/DoubleTree.hs 23;" f
|
||||
_ldtRight src/Dodge/Data/DoubleTree.hs 24;" f
|
||||
_ldtValue src/Dodge/Data/DoubleTree.hs 23;" f
|
||||
_ldtLeft src/Dodge/Data/DoubleTree.hs 31;" f
|
||||
_ldtRight src/Dodge/Data/DoubleTree.hs 32;" f
|
||||
_ldtValue src/Dodge/Data/DoubleTree.hs 31;" f
|
||||
_leadTargetBy src/Dodge/Data/ActionPlan.hs 150;" f
|
||||
_leftConsumption src/Dodge/Data/Item/Use.hs 44;" f
|
||||
_leftDelay src/Dodge/Data/Item/Use.hs 41;" f
|
||||
@@ -4446,11 +4450,11 @@ applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f
|
||||
applyToSubtree src/TreeHelp.hs 70;" f
|
||||
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
|
||||
aquamarine src/Color.hs 23;" f
|
||||
arc src/Picture/Base.hs 286;" f
|
||||
arc src/Picture/Base.hs 287;" f
|
||||
arcFull src/Picture/Arc.hs 11;" f
|
||||
arcNum src/Picture/Data.hs 53;" f
|
||||
arcPart src/Picture/Arc.hs 24;" f
|
||||
arcSolid src/Picture/Base.hs 275;" f
|
||||
arcSolid src/Picture/Base.hs 276;" f
|
||||
arcStepwise src/Geometry.hs 329;" f
|
||||
arcStepwisePositive src/Geometry.hs 343;" f
|
||||
arcTest src/Picture/Test.hs 9;" f
|
||||
@@ -4522,13 +4526,11 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 445;" f
|
||||
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
|
||||
baseBlockPane src/Dodge/Placements/Wall.hs 63;" f
|
||||
baseBlockPane src/Dodge/Room/Placement.hs 93;" f
|
||||
baseCI src/Dodge/Item/Grammar.hs 51;" f
|
||||
baseCIS src/Dodge/Item/Grammar.hs 36;" f
|
||||
baseCaneShape src/Dodge/Item/Draw/SPic.hs 251;" f
|
||||
baseComposedItem src/Dodge/Item/Grammar.hs 31;" f
|
||||
baseComposedItem' src/Dodge/Item/Grammar.hs 39;" f
|
||||
baseComposedItem' src/Dodge/Item/Grammar.hs 28;" f
|
||||
baseDebris src/Dodge/Block/Debris.hs 122;" f
|
||||
baseFloorTileSize src/Tile.hs 38;" f
|
||||
basePCI src/Dodge/Item/Grammar.hs 47;" f
|
||||
baseRifleShape src/Dodge/Item/Draw/SPic.hs 254;" f
|
||||
baseRodShape src/Dodge/Item/Draw/SPic.hs 442;" f
|
||||
baseSMGShape src/Dodge/Item/Draw/SPic.hs 413;" f
|
||||
@@ -4673,7 +4675,7 @@ changeTweakParam src/Dodge/Update/Scroll.hs 115;" f
|
||||
changeZonedWall src/Dodge/LevelGen/MoveDoor.hs 33;" f
|
||||
charFiringStratI src/Dodge/Item/Attachment.hs 15;" f
|
||||
charToPhaseV src/Dodge/Item/Weapon/Laser.hs 36;" f
|
||||
charToTuple src/Picture/Base.hs 316;" f
|
||||
charToTuple src/Picture/Base.hs 317;" f
|
||||
charToTupleGrad src/Picture/Text.hs 18;" f
|
||||
chargeIfEquipped src/Dodge/ItEffect.hs 51;" f
|
||||
chargeIfInInventory src/Dodge/ItEffect.hs 43;" f
|
||||
@@ -4785,7 +4787,7 @@ combineItemListYouX src/Dodge/Combine.hs 70;" f
|
||||
combineList src/Dodge/Combine.hs 78;" f
|
||||
combineList' src/Dodge/Combine.hs 83;" f
|
||||
combineListInfo src/Dodge/Combine.hs 96;" f
|
||||
combineMaybe src/Dodge/Item/Grammar.hs 55;" f
|
||||
combineMaybe src/Dodge/Item/Grammar.hs 40;" f
|
||||
combineModuleMaps src/Dodge/Combine.hs 107;" f
|
||||
combineRooms src/Dodge/Room/Procedural.hs 151;" f
|
||||
combineS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 344;" f
|
||||
@@ -5156,8 +5158,8 @@ displayConfig src/Dodge/Menu.hs 196;" f
|
||||
displayControls src/Dodge/Menu.hs 206;" f
|
||||
displayEnergyBallType src/Dodge/Module/Info.hs 19;" f
|
||||
displayFrameTicks src/Dodge/Render/Picture.hs 27;" f
|
||||
displayFreeSlots src/Dodge/DisplayInventory.hs 160;" f
|
||||
displaySelectionSection src/Dodge/DisplayInventory.hs 252;" f
|
||||
displayFreeSlots src/Dodge/DisplayInventory.hs 161;" f
|
||||
displaySelectionSection src/Dodge/DisplayInventory.hs 253;" f
|
||||
displayTerminal src/Dodge/Render/HUD.hs 210;" f
|
||||
displayTerminalLineString src/Dodge/Update.hs 325;" f
|
||||
dist src/Geometry/Vector.hs 179;" f
|
||||
@@ -5265,7 +5267,7 @@ doubleLampCover src/Dodge/LightSources/Lamp.hs 89;" f
|
||||
doubleLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 28;" f
|
||||
doublePair src/Geometry.hs 149;" f
|
||||
doublePairSet src/Geometry.hs 153;" f
|
||||
doubleTreeToIndentList src/Dodge/DoubleTree.hs 5;" f
|
||||
doubleTreeToIndentList src/Dodge/DoubleTree.hs 11;" f
|
||||
doubleV2 src/Geometry.hs 156;" f
|
||||
downSize src/Dodge/DownscaleSize.hs 3;" f
|
||||
drawAllShadows src/Dodge/Shadows.hs 5;" f
|
||||
@@ -5361,7 +5363,7 @@ drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
|
||||
drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f
|
||||
drawTargeting src/Dodge/Targeting/Draw.hs 14;" f
|
||||
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
|
||||
drawText src/Picture/Base.hs 219;" f
|
||||
drawText src/Picture/Base.hs 220;" f
|
||||
drawTitle src/Dodge/Render/MenuScreen.hs 48;" f
|
||||
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
|
||||
drawTreeYgapScaleYoff src/Dodge/Render/List.hs 79;" f
|
||||
@@ -5385,6 +5387,7 @@ dropExcept src/Dodge/Creature/Action.hs 178;" f
|
||||
dropItem src/Dodge/Creature/Action.hs 183;" f
|
||||
dropItemKey src/Dodge/Config/KeyConfig.hs 24;" f
|
||||
drumMag src/Dodge/Item/Ammo.hs 31;" f
|
||||
dtIL src/Dodge/DoubleTree.hs 14;" f
|
||||
dualBeam src/Dodge/Item/Held/BatteryGuns.hs 136;" f
|
||||
dualBeamPic src/Dodge/Item/Draw/SPic.hs 472;" f
|
||||
dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 144;" f
|
||||
@@ -5410,7 +5413,7 @@ encircleCloseP src/Dodge/Creature/Boid.hs 35;" f
|
||||
encircleDistP src/Dodge/Creature/Boid.hs 21;" f
|
||||
encircleP src/Dodge/Creature/Boid.hs 27;" f
|
||||
energyBallCraft src/Dodge/Item/Craftable.hs 18;" f
|
||||
enterCombineInv src/Dodge/DisplayInventory.hs 262;" f
|
||||
enterCombineInv src/Dodge/DisplayInventory.hs 264;" f
|
||||
eqConstr src/SameConstr.hs 17;" f
|
||||
eqPosText src/Dodge/Equipment/Text.hs 6;" f
|
||||
equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f
|
||||
@@ -5511,7 +5514,6 @@ flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 489;" f
|
||||
flatV2 src/Picture/Data.hs 65;" f
|
||||
flatV3 src/Picture/Data.hs 68;" f
|
||||
flatV4 src/Picture/Data.hs 71;" f
|
||||
flattenDT src/Dodge/Item/Grammar.hs 131;" f
|
||||
flattenIMIMIM src/Dodge/Base/Zone.hs 246;" f
|
||||
fleeFrom src/Dodge/CreatureEffect.hs 119;" f
|
||||
fleeFromTarget src/Dodge/CreatureEffect.hs 65;" f
|
||||
@@ -5699,7 +5701,7 @@ hatCombinations src/Dodge/Combine/Combinations.hs 33;" f
|
||||
head src/DoubleStack.hs 14;" f
|
||||
headLamp src/Dodge/Item/Equipment.hs 118;" f
|
||||
headLampShape src/Dodge/Item/Draw/SPic.hs 495;" f
|
||||
headMap src/Dodge/DoubleTree.hs 18;" f
|
||||
headMap src/Dodge/DoubleTree.hs 45;" f
|
||||
heal src/Dodge/Item/Consumable.hs 17;" f
|
||||
heal25 src/Dodge/Item/Consumable.hs 14;" f
|
||||
healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f
|
||||
@@ -5737,9 +5739,6 @@ hvBulDams src/Dodge/Particle/Damage.hs 13;" f
|
||||
hvBulHitCr src/Dodge/Particle/Bullet/HitEffect.hs 17;" f
|
||||
hvBulHitWall src/Dodge/Particle/Bullet/HitEffect.hs 54;" f
|
||||
hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 31;" f
|
||||
iDTL src/Dodge/Item/Grammar.hs 116;" f
|
||||
iDTR src/Dodge/Item/Grammar.hs 121;" f
|
||||
iDTboth src/Dodge/Item/Grammar.hs 126;" f
|
||||
iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f
|
||||
iShape src/Dodge/Placements/LightSource.hs 32;" f
|
||||
icosahedronPoints src/Polyhedra/Geodesic.hs 11;" f
|
||||
@@ -5759,8 +5758,6 @@ incBallAt src/Dodge/EnergyBall.hs 54;" f
|
||||
incendiaryModule src/Dodge/Item/Craftable.hs 21;" f
|
||||
incidenceToFunction src/Dodge/Graph.hs 26;" f
|
||||
indefiniteExceptions src/StringHelp.hs 29;" f
|
||||
indentDoubleTreeWith src/Dodge/Item/Grammar.hs 111;" f
|
||||
indentInv src/Dodge/Item/Grammar.hs 146;" f
|
||||
initCrItemLocation src/Dodge/Item/Location/Initialize.hs 39;" f
|
||||
initCrItemLocations src/Dodge/Item/Location/Initialize.hs 34;" f
|
||||
initCrsItemLocations src/Dodge/Item/Location/Initialize.hs 14;" f
|
||||
@@ -5827,16 +5824,15 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
|
||||
intervalList src/Geometry.hs 315;" f
|
||||
interweave src/Justify.hs 17;" f
|
||||
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
|
||||
invDimColor src/Dodge/DisplayInventory.hs 141;" f
|
||||
invDimColor src/Dodge/DisplayInventory.hs 142;" f
|
||||
invDimColor src/Dodge/Inventory/Color.hs 4;" f
|
||||
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
|
||||
invHead src/Dodge/Render/HUD.hs 275;" f
|
||||
invLDT src/Dodge/Item/Grammar.hs 152;" f
|
||||
invLDT src/Dodge/Item/Grammar.hs 83;" f
|
||||
invSelectionItem src/Dodge/Inventory/SelectionList.hs 16;" f
|
||||
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
|
||||
invSideEff src/Dodge/Creature/State.hs 232;" f
|
||||
invSize src/Dodge/Inventory/CheckSlots.hs 40;" f
|
||||
invTree src/Dodge/Item/Grammar.hs 142;" f
|
||||
inventoryX src/Dodge/Creature.hs 115;" f
|
||||
inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 43;" f
|
||||
invertEncircleDistP src/Dodge/Creature/Boid.hs 13;" f
|
||||
@@ -5914,8 +5910,7 @@ jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
|
||||
jShape src/Dodge/Placements/LightSource.hs 43;" f
|
||||
jaggedShape src/Dodge/Block/Debris.hs 191;" f
|
||||
jetPack src/Dodge/Item/Equipment.hs 92;" f
|
||||
joinItems src/Dodge/Item/Grammar.hs 89;" f
|
||||
joinItemsInList src/Dodge/Item/Grammar.hs 102;" f
|
||||
joinItemsInList src/Dodge/Item/Grammar.hs 74;" f
|
||||
jps0' src/Dodge/LevelGen/Data.hs 60;" f
|
||||
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
|
||||
jps0PushPS src/Dodge/LevelGen/Data.hs 63;" f
|
||||
@@ -5965,7 +5960,7 @@ lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
|
||||
lasTurret src/Dodge/Placements/Turret.hs 29;" f
|
||||
lasWide src/Dodge/Item/Held/BatteryGuns.hs 97;" f
|
||||
lasWideRate src/Dodge/HeldUse.hs 353;" f
|
||||
lastMap src/Dodge/DoubleTree.hs 22;" f
|
||||
lastMap src/Dodge/DoubleTree.hs 49;" f
|
||||
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
|
||||
latchkey src/Dodge/Item/PassKey.hs 14;" f
|
||||
launcher src/Dodge/Item/Held/Launcher.hs 10;" f
|
||||
@@ -5976,12 +5971,15 @@ launcherX src/Dodge/Item/Held/Launcher.hs 39;" f
|
||||
layerNum src/Picture/Data.hs 31;" f
|
||||
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
|
||||
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 90;" f
|
||||
ldtIL src/Dodge/DoubleTree.hs 24;" f
|
||||
ldtToDT src/Dodge/DoubleTree.hs 5;" f
|
||||
ldtToIndentList src/Dodge/DoubleTree.hs 21;" f
|
||||
left src/DoubleStack.hs 16;" f
|
||||
leftInfo src/Dodge/Item/Info.hs 110;" f
|
||||
leftIsParentCombine src/Dodge/Item/Grammar.hs 64;" f
|
||||
leftIsParentCombine src/Dodge/Item/Grammar.hs 49;" f
|
||||
leftItemSPic src/Dodge/Item/Draw/SPic.hs 72;" f
|
||||
leftPad src/Padding.hs 14;" f
|
||||
leftRightCombine src/Dodge/Item/Grammar.hs 78;" f
|
||||
leftRightCombine src/Dodge/Item/Grammar.hs 63;" f
|
||||
legsSPic src/Dodge/Item/Draw/SPic.hs 529;" f
|
||||
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
|
||||
liShape src/Dodge/Placements/LightSource.hs 55;" f
|
||||
@@ -5995,14 +5993,14 @@ lightSensor src/Dodge/Placements/Sensor.hs 27;" f
|
||||
lightsToRender src/Dodge/Render/Lights.hs 14;" f
|
||||
lightx4 src/Color.hs 141;" f
|
||||
linGrad src/Geometry/Intersect.hs 220;" f
|
||||
line src/Picture/Base.hs 225;" f
|
||||
lineCol src/Picture/Base.hs 229;" f
|
||||
line src/Picture/Base.hs 226;" f
|
||||
lineCol src/Picture/Base.hs 230;" f
|
||||
lineGeom src/Dodge/Base.hs 39;" f
|
||||
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
|
||||
lineOrth src/Dodge/Creature/Boid.hs 125;" f
|
||||
lineOutputTerminal src/Dodge/WorldEffect.hs 71;" f
|
||||
lineSplit src/Justify.hs 26;" f
|
||||
lineThick src/Picture/Base.hs 233;" f
|
||||
lineThick src/Picture/Base.hs 234;" f
|
||||
lineUp src/Dodge/Creature/Boid.hs 147;" f
|
||||
linkDecoration src/Dodge/Debug/LinkDecoration.hs 27;" f
|
||||
linkEitherTrees src/Dodge/Layout/Tree/Either.hs 36;" f
|
||||
@@ -6013,7 +6011,7 @@ listConfig src/Dodge/Menu.hs 199;" f
|
||||
listControls src/Dodge/Menu.hs 212;" f
|
||||
listCursorChooseBorderScale src/Dodge/Render/List.hs 109;" f
|
||||
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
|
||||
listSelectionColorPicture src/Dodge/DisplayInventory.hs 255;" f
|
||||
listSelectionColorPicture src/Dodge/DisplayInventory.hs 256;" f
|
||||
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
|
||||
lmt src/MatrixHelper.hs 43;" f
|
||||
lnkBothAnd src/Dodge/Room/Procedural.hs 120;" f
|
||||
@@ -6230,8 +6228,8 @@ miniTree2 src/Dodge/Room/Room.hs 108;" f
|
||||
minimumOn src/FoldlHelp.hs 12;" f
|
||||
mirrorV3xz src/Dodge/Creature/HandPos.hs 52;" f
|
||||
mirrorXAxis src/Geometry/Polygon.hs 45;" f
|
||||
mirrorxz src/Picture/Base.hs 334;" f
|
||||
mirroryz src/Picture/Base.hs 339;" f
|
||||
mirrorxz src/Picture/Base.hs 335;" f
|
||||
mirroryz src/Picture/Base.hs 340;" f
|
||||
missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 482;" f
|
||||
mixAngles src/Geometry.hs 205;" f
|
||||
mixColors src/Color.hs 82;" f
|
||||
@@ -6409,7 +6407,7 @@ outLink src/Dodge/RoomLink.hs 105;" f
|
||||
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
|
||||
outwardIntegers src/Dodge/Base.hs 159;" f
|
||||
overCID src/Dodge/Euse.hs 168;" f
|
||||
overCol src/Picture/Base.hs 307;" f
|
||||
overCol src/Picture/Base.hs 308;" f
|
||||
overColObj src/Shape.hs 269;" f
|
||||
overColSH src/Shape.hs 237;" f
|
||||
overLnkPosDir src/Dodge/RoomLink.hs 100;" f
|
||||
@@ -6417,7 +6415,7 @@ overLnkType src/Dodge/RoomLink.hs 87;" f
|
||||
overNozzle src/Dodge/HeldUse.hs 416;" f
|
||||
overNozzles src/Dodge/HeldUse.hs 394;" f
|
||||
overNozzles' src/Dodge/HeldUse.hs 403;" f
|
||||
overPos src/Picture/Base.hs 302;" f
|
||||
overPos src/Picture/Base.hs 303;" f
|
||||
overPosObj src/Shape.hs 273;" f
|
||||
overPosSH src/Shape.hs 257;" f
|
||||
overPosSP src/ShapePicture.hs 41;" f
|
||||
@@ -6518,7 +6516,7 @@ placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 78;" f
|
||||
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 59;" f
|
||||
placeString src/Dodge/Render/MenuScreen.hs 54;" f
|
||||
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 154;" f
|
||||
plainRegex src/Dodge/DisplayInventory.hs 157;" f
|
||||
plainRegex src/Dodge/DisplayInventory.hs 158;" f
|
||||
plainShellCollisionCheck src/Dodge/Projectile/Update.hs 45;" f
|
||||
plateCraft src/Dodge/Item/Craftable.hs 47;" f
|
||||
playIfFree src/Sound.hs 136;" f
|
||||
@@ -6632,8 +6630,8 @@ prependTwo src/Geometry.hs 165;" f
|
||||
pressedMBEffects src/Dodge/Update/UsingInput.hs 27;" f
|
||||
pressedMBEffectsNoInventory src/Dodge/Update/UsingInput.hs 40;" f
|
||||
pressedMBEffectsTopInventory src/Dodge/Creature/YourControl.hs 206;" f
|
||||
prettyDT src/Dodge/Item/Grammar.hs 134;" f
|
||||
prettyLDT src/Dodge/Item/Grammar.hs 138;" f
|
||||
prettyDT src/Dodge/Data/DoubleTree.hs 44;" f
|
||||
prettyLDT src/Dodge/Data/DoubleTree.hs 48;" f
|
||||
primeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f
|
||||
printColumnTitles src/Dodge/Tree/Shift.hs 142;" f
|
||||
printColumns src/Dodge/Tree/Shift.hs 132;" f
|
||||
@@ -6878,7 +6876,7 @@ rhombus src/Polyhedra.hs 71;" f
|
||||
rifle src/Dodge/Item/Held/Cane.hs 61;" f
|
||||
rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f
|
||||
right src/DoubleStack.hs 16;" f
|
||||
rightIsParentCombine src/Dodge/Item/Grammar.hs 71;" f
|
||||
rightIsParentCombine src/Dodge/Item/Grammar.hs 56;" f
|
||||
rightPad src/Padding.hs 22;" f
|
||||
rightPadNoSquash src/Padding.hs 26;" f
|
||||
rlPosDir src/Dodge/RoomLink.hs 94;" f
|
||||
@@ -7205,8 +7203,8 @@ singleBarrel src/Dodge/Item/Held/SingleBarrel.hs 6;" f
|
||||
singleBlock src/Dodge/Placement/Instance/Wall.hs 30;" f
|
||||
singleBlock src/Dodge/Placements/Wall.hs 11;" f
|
||||
singleBlock src/Dodge/Room/Placement.hs 23;" f
|
||||
singleDT src/Dodge/Item/Grammar.hs 25;" f
|
||||
singleLDT src/Dodge/Item/Grammar.hs 28;" f
|
||||
singleDT src/Dodge/Item/Grammar.hs 22;" f
|
||||
singleLDT src/Dodge/Item/Grammar.hs 25;" f
|
||||
singleton src/DoubleStack.hs 11;" f
|
||||
singletonTrie src/SimpleTrie.hs 14;" f
|
||||
sizeFBOs src/Framebuffer/Update.hs 22;" f
|
||||
@@ -7348,7 +7346,7 @@ streamFromZone src/Dodge/Zone.hs 39;" f
|
||||
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 32;" f
|
||||
strictify src/MaybeHelp.hs 37;" f
|
||||
strideRot src/Dodge/Item/HeldOffset.hs 63;" f
|
||||
stringToList src/Picture/Base.hs 312;" f
|
||||
stringToList src/Picture/Base.hs 313;" f
|
||||
stringToListGrad src/Picture/Text.hs 12;" f
|
||||
stripZ src/Geometry/Vector3D.hs 97;" f
|
||||
subInvX src/Dodge/ListDisplayParams.hs 48;" f
|
||||
@@ -7434,25 +7432,25 @@ testEventKey src/Dodge/Config/KeyConfig.hs 27;" f
|
||||
testInventory src/Dodge/Creature.hs 245;" f
|
||||
testPic src/Dodge/Render/ShapePicture.hs 153;" f
|
||||
testStringInit src/Dodge/TestString.hs 21;" f
|
||||
text src/Picture/Base.hs 192;" f
|
||||
text src/Picture/Base.hs 193;" f
|
||||
textGrad src/Picture/Text.hs 5;" f
|
||||
textJustifyCenter src/Picture/Base.hs 211;" f
|
||||
textJustifyLeft src/Picture/Base.hs 207;" f
|
||||
textJustifyRight src/Picture/Base.hs 197;" f
|
||||
textJustifyCenter src/Picture/Base.hs 212;" f
|
||||
textJustifyLeft src/Picture/Base.hs 208;" f
|
||||
textJustifyRight src/Picture/Base.hs 198;" f
|
||||
textNum src/Picture/Data.hs 53;" f
|
||||
textRight src/Picture/Base.hs 202;" f
|
||||
textRight src/Picture/Base.hs 203;" f
|
||||
textSelItems src/Dodge/Render/HUD.hs 325;" f
|
||||
textVMirror src/Picture/Base.hs 215;" f
|
||||
textVMirror src/Picture/Base.hs 216;" f
|
||||
tflat2 src/Picture/Data.hs 80;" f
|
||||
tflat3 src/Picture/Data.hs 83;" f
|
||||
tflat4 src/Picture/Data.hs 86;" f
|
||||
theCleanup appDodge/Main.hs 74;" f
|
||||
theColumns src/Dodge/Tree/Shift.hs 139;" f
|
||||
theUpdateStep appDodge/Main.hs 102;" f
|
||||
thickArc src/Picture/Base.hs 297;" f
|
||||
thickCircle src/Picture/Base.hs 271;" f
|
||||
thickLine src/Picture/Base.hs 243;" f
|
||||
thickLineCol src/Picture/Base.hs 254;" f
|
||||
thickArc src/Picture/Base.hs 298;" f
|
||||
thickCircle src/Picture/Base.hs 272;" f
|
||||
thickLine src/Picture/Base.hs 244;" f
|
||||
thickLineCol src/Picture/Base.hs 255;" f
|
||||
thinHighBar src/Dodge/Room/Foreground.hs 77;" f
|
||||
thingHit src/Dodge/WorldEvent/ThingsHit.hs 65;" f
|
||||
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 53;" f
|
||||
@@ -7689,7 +7687,7 @@ updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 107;" f
|
||||
updateInstantBullets src/Dodge/Update.hs 531;" f
|
||||
updateInv src/Dodge/Creature/State.hs 224;" f
|
||||
updateInventoryPositioning src/Dodge/DisplayInventory.hs 88;" f
|
||||
updateInventorySectionItems src/Dodge/DisplayInventory.hs 145;" f
|
||||
updateInventorySectionItems src/Dodge/DisplayInventory.hs 146;" f
|
||||
updateKeyInGame src/Dodge/Update/Input/InGame.hs 101;" f
|
||||
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 90;" f
|
||||
updateLampoid src/Dodge/Lampoid.hs 13;" f
|
||||
@@ -7725,8 +7723,8 @@ updateRenderSplit appDodge/Main.hs 105;" f
|
||||
updateScopeZoom src/Dodge/Update/Camera.hs 131;" f
|
||||
updateScopeZoom' src/Dodge/Update/Camera.hs 136;" f
|
||||
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
|
||||
updateSection src/Dodge/DisplayInventory.hs 187;" f
|
||||
updateSectionsPositioning src/Dodge/DisplayInventory.hs 166;" f
|
||||
updateSection src/Dodge/DisplayInventory.hs 188;" f
|
||||
updateSectionsPositioning src/Dodge/DisplayInventory.hs 167;" f
|
||||
updateSeenWalls src/Dodge/Update.hs 562;" f
|
||||
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
|
||||
updateShockwaves src/Dodge/Update.hs 436;" f
|
||||
|
||||
Reference in New Issue
Block a user