This commit is contained in:
2024-10-25 21:05:32 +01:00
parent 6424899afd
commit f6c136cfd6
25 changed files with 334 additions and 333 deletions
+1 -1
View File
@@ -1 +1 @@
All good (596 modules, at 17:39:13) All good (0 modules, at 21:05:25)
+1 -1
View File
@@ -258,7 +258,7 @@ shineTorch cr itmtree (p, q) = fromMaybe id $ do
x = 10 x = 10
isammolink AmmoInLink{} = True isammolink AmmoInLink{} = True
isammolink _ = False isammolink _ = False
pos = (_crPos cr `v2z` 0 + rotate3 cdir p) pos = _crPos cr `v2z` 0 + rotate3 cdir p
pos'' = pos + rotate3 d (V3 8 0 1.5) pos'' = pos + rotate3 d (V3 8 0 1.5)
cdir = _crDir cr cdir = _crDir cr
d = _crDir cr + argV (Q.qToV2 q) d = _crDir cr + argV (Q.qToV2 q)
+4 -8
View File
@@ -22,20 +22,17 @@ data ListDisplayParams = ListDisplayParams
, _ldpWidth :: SelectionWidth , _ldpWidth :: SelectionWidth
} }
data CursorDisplay = CursorDisplay data CursorDisplay
= BoundaryCursor
{ _cursSides :: [CardinalPoint] { _cursSides :: [CardinalPoint]
} }
| BackdropCursor
data SelectionList a = SelectionList data SelectionList a = SelectionList
{ _slItems :: [SelectionItem a] { _slItems :: [SelectionItem a]
, _slSelPos :: Maybe Int , _slSelPos :: Maybe Int
, _slRegex :: String
, _slRegexInput :: Bool
, _slRegexList :: [(SelectionItem a, Maybe Int)]
} }
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data SelectionSections a = SelectionSections data SelectionSections a = SelectionSections
{ _sssSections :: IntMap (SelectionSection a) { _sssSections :: IntMap (SelectionSection a)
, _sssExtra :: SSSExtra , _sssExtra :: SSSExtra
@@ -44,7 +41,7 @@ data SelectionSections a = SelectionSections
-- note that filters are arbitrary: the sssFilters point to the lower of -- note that filters are arbitrary: the sssFilters point to the lower of
-- a pair of ints (i,i+1) such that the lower is the regex section, the higher -- a pair of ints (i,i+1) such that the lower is the regex section, the higher
-- is the items section. -- is the items section.
data SSSExtra = SSSExtra newtype SSSExtra = SSSExtra
{ _sssFilters :: IntMap (Maybe String) { _sssFilters :: IntMap (Maybe String)
} }
@@ -64,7 +61,6 @@ data SelectionSection a = SelectionSection
, _ssDescriptor :: String , _ssDescriptor :: String
} }
data SelectionWidth data SelectionWidth
= FixedSelectionWidth Int = FixedSelectionWidth Int
| VariableSelectionWidth (Int -> Int) | VariableSelectionWidth (Int -> Int)
+3 -2
View File
@@ -13,6 +13,7 @@ import Dodge.Debug.Picture
import Dodge.WorldEvent.ThingsHit import Dodge.WorldEvent.ThingsHit
import Geometry.Vector import Geometry.Vector
import qualified SDL import qualified SDL
import Data.Ord
debugEvents :: Universe -> Universe debugEvents :: Universe -> Universe
debugEvents u = case dbools ^. at Enable_debug of debugEvents u = case dbools ^. at Enable_debug of
@@ -90,8 +91,8 @@ clickGetCreature u
closestCreatureID :: Universe -> Maybe Int closestCreatureID :: Universe -> Maybe Int
closestCreatureID u = closestCreatureID u =
fmap (_crID . snd) . listToMaybe . reverse fmap (_crID . snd) . listToMaybe
. sortOn (dist mwp . fst) . sortOn (Down . dist mwp . fst)
. crsHitRadial mwp 100 . crsHitRadial mwp 100
$ _uvWorld u $ _uvWorld u
where where
-4
View File
@@ -6,8 +6,4 @@ defaultSelectionList :: SelectionList a
defaultSelectionList = SelectionList defaultSelectionList = SelectionList
{_slItems = mempty {_slItems = mempty
, _slSelPos = Nothing , _slSelPos = Nothing
-- , _slLength = 0
, _slRegex = ""
, _slRegexInput = False
, _slRegexList = []
} }
+3
View File
@@ -280,3 +280,6 @@ enterCombineInv cfig w = w & hud . hudElement . subInventory .~ CombineInventory
, _ssIndent = 0 , _ssIndent = 0
, _ssDescriptor = "COMBINATIONS" , _ssDescriptor = "COMBINATIONS"
} }
regexList :: String -> [String] -> Bool
regexList x = any (isInfixOf x)
+1 -1
View File
@@ -64,7 +64,7 @@ ildtPropagate lf rf x (LDT v l r) = LDT v (imap (go lf x) l) (imap (go rf x) r)
ldtPropagateIndices :: LabelDoubleTree b a -> LabelDoubleTree b (a, [Either Int Int]) ldtPropagateIndices :: LabelDoubleTree b a -> LabelDoubleTree b (a, [Either Int Int])
ldtPropagateIndices (LDT x l r) = LDT (x,[]) (imap (f Left) l) (imap (f Right) r) ldtPropagateIndices (LDT x l r) = LDT (x,[]) (imap (f Left) l) (imap (f Right) r)
where where
f e i (y,t) = (y, fmap (second (e i:)) $ ldtPropagateIndices t) f e i (y,t) = (y, second (e i:) <$> ldtPropagateIndices t)
-- conceptually, in a tree growing from left to right, -- conceptually, in a tree growing from left to right,
-- bottom -> top is equated with left -> right. -- bottom -> top is equated with left -> right.
+2 -1
View File
@@ -62,7 +62,8 @@ drawFlamelet pt =
. rotate (negate (rot + 0.2 * fromIntegral time)) . rotate (negate (rot + 0.2 * fromIntegral time))
. scale s2 s2 . scale s2 s2
. polygon . polygon
$ (rectNSWE siz2 (- siz2) (- siz2) siz2) . reverse
$ rectNSWE siz2 (- siz2) (- siz2) siz2
pic = pic =
setDepth (z + 20) setDepth (z + 20)
. uncurryV translate ep . uncurryV translate ep
+1 -1
View File
@@ -371,7 +371,7 @@ shootBullet ::
World World
shootBullet itmtree cr (mz, x, magtree) w = fromMaybe w $ do shootBullet itmtree cr (mz, x, magtree) w = fromMaybe w $ do
thebullet <- getBulletType itmtree magtree mz cr w thebullet <- getBulletType itmtree magtree mz cr w
return $ flip (foldl' (&)) (replicate x (makeBullet thebullet (itmtree ^. ldtValue) cr mz)) w return $ foldl' (&) w (replicate x (makeBullet thebullet (itmtree ^. ldtValue) cr mz))
-- & makeMuzzleSmoke mz itm cr -- & makeMuzzleSmoke mz itm cr
+1 -1
View File
@@ -217,7 +217,7 @@ changeSwapWith f w = case w ^? hud . hudElement . diSelection . _Just of
augInvDirectSelect :: (Int, Int) -> World -> World augInvDirectSelect :: (Int, Int) -> World -> World
augInvDirectSelect (i, j) w = augInvDirectSelect (i, j) w =
w w
& hud . hudElement . diSelection .~ Just (i, j) & hud . hudElement . diSelection ?~ (i, j)
& worldEventFlags . at InventoryChange ?~ () & worldEventFlags . at InventoryChange ?~ ()
& setInvPosFromSS & setInvPosFromSS
& cWorld . lWorld %~ crUpdateItemLocations 0 & cWorld . lWorld %~ crUpdateItemLocations 0
+2 -1
View File
@@ -103,7 +103,8 @@ laserLinkTest :: Item -> LinkTest
laserLinkTest itm = LTest (llleft itm) (llright itm) laserLinkTest itm = LTest (llleft itm) (llright itm)
llleft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate llleft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
llleft itm pci = _tryLeftLink (uncurry useBreakL $ itemToBreakLists (CItem itm WeaponTargetingSF)) pci llleft itm = _tryLeftLink
. uncurry useBreakL . itemToBreakLists $ CItem itm WeaponTargetingSF
llright :: Item -> PartiallyComposedItem -> Maybe LinkUpdate llright :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
llright itm pci = case pci ^. _1 . itType of llright itm pci = case pci ^. _1 . itType of
+2 -2
View File
@@ -30,7 +30,7 @@ heldItemRelativeOrient itm cr (p,q)
| isTwoHandFlat = | isTwoHandFlat =
( V3 (_crRad cr) 0 handD ( V3 (_crRad cr) 0 handD
+ rotate3 (twoFlatHRot cr) (transToHandle itm p) + rotate3 (twoFlatHRot cr) (transToHandle itm p)
, (Q.axisAngle (V3 0 0 1) (twoFlatHRot cr)) * q , Q.axisAngle (V3 0 0 1) (twoFlatHRot cr) * q
) )
| isOneHand = | isOneHand =
( V3 (_crRad cr * 0.7 + handPos) (_crRad cr * negate 0.7) handD ( V3 (_crRad cr * 0.7 + handPos) (_crRad cr * negate 0.7) handD
@@ -40,7 +40,7 @@ heldItemRelativeOrient itm cr (p,q)
| otherwise = | otherwise =
( V3 (_crRad cr) 0 handD ( V3 (_crRad cr) 0 handD
+ rotate3 (strideRot cr + 1.2) (V3 (-8) 0 0 + transToHandle itm p) + rotate3 (strideRot cr + 1.2) (V3 (-8) 0 0 + transToHandle itm p)
, (Q.axisAngle (V3 0 0 1) (strideRot cr + 1.2)) * q , Q.axisAngle (V3 0 0 1) (strideRot cr + 1.2) * q
) )
where where
handD = 15 handD = 15
+10 -10
View File
@@ -1,12 +1,12 @@
{-# LANGUAGE LambdaCase#-} module Dodge.Item.InventoryColor (
module Dodge.Item.InventoryColor itemInvColor,
( itemInvColor ) where
) where
--import Dodge.Data.Item.Use.Consumption.Ammo --import Dodge.Data.Item.Use.Consumption.Ammo
import Dodge.Data.ComposedItem
import Color import Color
import Control.Lens import Control.Lens
import Dodge.Data.ComposedItem
itemInvColor :: ComposedItem -> Color itemInvColor :: ComposedItem -> Color
itemInvColor ci = case ci ^. cItemFunction of itemInvColor ci = case ci ^. cItemFunction of
@@ -14,13 +14,13 @@ itemInvColor ci = case ci ^. cItemFunction of
WeaponScopeSF -> chartreuse WeaponScopeSF -> chartreuse
WeaponTargetingSF -> green WeaponTargetingSF -> green
AugmentedHUDSF -> rose AugmentedHUDSF -> rose
AmmoMagSF {} -> red AmmoMagSF{} -> red
RemoteScreenSF -> azure RemoteScreenSF -> azure
UncomposableIsolateSF -> greyN 0.5 UncomposableIsolateSF -> greyN 0.5
AmmoModifierSF {} -> orange AmmoModifierSF{} -> orange
AmmoTargetingSF {} -> green AmmoTargetingSF{} -> green
AmmoPayloadSF {} -> violet AmmoPayloadSF{} -> violet
AmmoEffectSF {} -> aquamarine AmmoEffectSF{} -> aquamarine
FunctionChangeSF -> yellow FunctionChangeSF -> yellow
--ammoTypeColor :: AmmoType -> Color --ammoTypeColor :: AmmoType -> Color
+1 -3
View File
@@ -1,4 +1,3 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Item.Scope ( module Dodge.Item.Scope (
zoomScope, zoomScope,
targetingScope, targetingScope,
@@ -21,8 +20,7 @@ zoomScope = defaultHeldItem
& itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5} & itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}
targetingScope :: TargetingType -> Item targetingScope :: TargetingType -> Item
targetingScope tt= case tt of targetingScope tt = defaultHeldItem
_ -> defaultHeldItem
& itType .~ TARGETING tt & itType .~ TARGETING tt
& itUse .~ UseCraft & itUse .~ UseCraft
& itTargeting .~ ItTargeting & itTargeting .~ ItTargeting
+19 -24
View File
@@ -1,45 +1,42 @@
module Dodge.ListDisplayParams module Dodge.ListDisplayParams (
( invDisplayParams invDisplayParams,
, invCursorParams invCursorParams,
, secondColumnParams secondColumnParams,
, subInvX subInvX,
, defaultListDisplayParams defaultListDisplayParams,
, optionListDisplayParams optionListDisplayParams,
) where ) where
import Dodge.Data.ScreenPos import Control.Lens
import qualified Data.Map.Strict as M
import Dodge.Data.CardinalPoint import Dodge.Data.CardinalPoint
import SDL (MouseButton (..)) import Dodge.Data.ScreenPos
import Dodge.Data.SelectionList import Dodge.Data.SelectionList
import Dodge.Data.World import Dodge.Data.World
import qualified Data.Map.Strict as M
import Control.Lens
import Linear import Linear
import SDL (MouseButton (..))
defaultListDisplayParams :: ListDisplayParams defaultListDisplayParams :: ListDisplayParams
defaultListDisplayParams = defaultListDisplayParams =
ListDisplayParams ListDisplayParams
{ _ldpVerticalGap = 0 { _ldpVerticalGap = 0
, _ldpScale = 1 , _ldpScale = 1
, _ldpPos = ScreenPos {_spScreenOff = V2 (-0.5) 0.5 -- top left , _ldpPos =
, _spPixelOff = 0} ScreenPos
{ _spScreenOff = V2 (-0.5) 0.5 -- top left
, _spPixelOff = 0
}
, _ldpWidth = FixedSelectionWidth 15 , _ldpWidth = FixedSelectionWidth 15
} }
invDisplayParams :: World -> ListDisplayParams invDisplayParams :: World -> ListDisplayParams
invDisplayParams w = invDisplayParams w =
defaultListDisplayParams defaultListDisplayParams
-- & ldpCursorSides .~ selcursortype
& ldpWidth .~ FixedSelectionWidth (determineInvSelCursorWidth w) & ldpWidth .~ FixedSelectionWidth (determineInvSelCursorWidth w)
& ldpPos . spPixelOff .~ V2 6 (-1) & ldpPos . spPixelOff .~ V2 6 (-1)
-- where
-- selcursortype = case w ^? hud . hudElement . subInventory of
-- _ | ButtonRight `M.member` _mouseButtons (_input w) -> [North, South, East, West]
-- Just ExamineInventory{} -> [North, South, East, West]
-- Just CombineInventory{} -> []
-- _ -> [North, South, West]
invCursorParams :: World -> CursorDisplay invCursorParams :: World -> CursorDisplay
invCursorParams w = CursorDisplay $ case w ^? hud . hudElement . subInventory of invCursorParams w = BoundaryCursor $ case w ^? hud . hudElement . subInventory of
_ | ButtonRight `M.member` _mouseButtons (_input w) -> [North, South, East, West] _ | ButtonRight `M.member` _mouseButtons (_input w) -> [North, South, East, West]
Just ExamineInventory{} -> [North, South, East, West] Just ExamineInventory{} -> [North, South, East, West]
Just CombineInventory{} -> [] Just CombineInventory{} -> []
@@ -49,7 +46,6 @@ secondColumnParams :: ListDisplayParams
secondColumnParams = secondColumnParams =
defaultListDisplayParams defaultListDisplayParams
& ldpPos . spPixelOff .~ V2 subInvX (-81) & ldpPos . spPixelOff .~ V2 subInvX (-81)
-- & ldpCursorSides .~ [North, South, West]
subInvX :: Float subInvX :: Float
subInvX = 10 * fromIntegral topInvW + 70 subInvX = 10 * fromIntegral topInvW + 70
@@ -77,4 +73,3 @@ optionListDisplayParams =
& ldpScale .~ 2 & ldpScale .~ 2
& ldpVerticalGap .~ 0 & ldpVerticalGap .~ 0
& ldpWidth .~ FixedSelectionWidth 50 & ldpWidth .~ FixedSelectionWidth 50
-- & ldpCursorSides .~ [North, South, West]
+31 -12
View File
@@ -82,9 +82,9 @@ drawDIMouseOver w = fromMaybe mempty $ do
(_, i) <- w ^? hud . hudElement . subInventory . nsMouseOver . _Just (_, i) <- w ^? hud . hudElement . subInventory . nsMouseOver . _Just
sss <- w ^? hud . hudElement . diSections sss <- w ^? hud . hudElement . diSections
let idp = invDisplayParams w let idp = invDisplayParams w
return . color (withAlpha 0.5 white) $ selSecDrawCursorAt (0, i) 10 idp curs sss return . color (withAlpha 0.5 white) $ selSecDrawCursorAt 10 idp curs sss (0, i)
where where
curs = CursorDisplay [North,South] curs = BoundaryCursor [North, South]
getMouseInvSel :: World -> Maybe ((Int, Int), (Int, Int)) getMouseInvSel :: World -> Maybe ((Int, Int), (Int, Int))
getMouseInvSel w = case w ^? hud . hudElement . subInventory . nsSelected of getMouseInvSel w = case w ^? hud . hudElement . subInventory . nsSelected of
@@ -130,7 +130,7 @@ drawCombineInventory cfig sss w =
<> drawSSCursor sss msel secondColumnParams curs cfig <> drawSSCursor sss msel secondColumnParams curs cfig
<> combineInventoryExtra sss msel cfig w <> combineInventoryExtra sss msel cfig w
where where
curs = CursorDisplay [North,South,West] curs = BoundaryCursor [North, South, West]
msel = w ^? hud . hudElement . subInventory . ciSelection . _Just msel = w ^? hud . hudElement . subInventory . ciSelection . _Just
drawExamineInventory :: Configuration -> World -> Picture drawExamineInventory :: Configuration -> World -> Picture
@@ -185,7 +185,9 @@ drawRBOptions :: Configuration -> World -> Picture
drawRBOptions cfig w = fromMaybe mempty $ do drawRBOptions cfig w = fromMaybe mempty $ do
guard $ ButtonRight `M.member` _mouseButtons (_input w) guard $ ButtonRight `M.member` _mouseButtons (_input w)
invid <- you w ^? crManipulation . manObject . imSelectedItem invid <- you w ^? crManipulation . manObject . imSelectedItem
eslist <- fmap equipSiteToPositions $ you w ^? crInv . ix invid . itUse . uequipEffect . eeSite eslist <-
fmap equipSiteToPositions $
you w ^? crInv . ix invid . itUse . uequipEffect . eeSite
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
@@ -202,23 +204,36 @@ drawRBOptions cfig w = fromMaybe mempty $ do
return $ return $
toTopLeft cfig $ toTopLeft cfig $
translate 290 (-1) (ytext midstr) translate 290 (-1) (ytext midstr)
<> translate 160 (-1) (listCursorChooseBorderScale 0 1 [North, South] curpos 0 white 21 1) <> translate
160
(-1)
( listCursorChooseBorderScale
0
1
(BoundaryCursor [North, South])
curpos
0
white
21
1
)
<> translate <> translate
380 380
(-1) (-1)
( drawListYoff (curpos - i) (map (text . eqPosText) eslist) ( drawListYoff (curpos - i) (map (text . eqPosText) eslist)
<> listCursorChooseBorderScale 0 1 [East] (curpos - i) 0 white 7 (length eslist) <> listCursorChooseBorderScale 0 1 (bc East) (curpos - i) 0 white 7 (length eslist)
<> listCursorChooseBorderScale 0 1 [West] (curpos + 1) 0 white 7 (length eslist - (i + 1)) <> listCursorChooseBorderScale 0 1 (bc West) (curpos + 1) 0 white 7 (length eslist - (i + 1))
<> listCursorChooseBorderScale 0 1 [West] (curpos - i) 0 white 7 i <> listCursorChooseBorderScale 0 1 (bc West) (curpos - i) 0 white 7 i
<> maybetopborder i curpos <> maybetopborder i curpos
<> maybebottomborder i (length eslist) curpos <> maybebottomborder i (length eslist) curpos
) )
<> translate 460 (-1) (ytext extrastr) <> translate 460 (-1) (ytext extrastr)
where where
maybetopborder 0 curpos = listCursorChooseBorderScale 0 1 [North] curpos 0 white 7 1 bc x = BoundaryCursor [x]
maybetopborder 0 curpos = listCursorChooseBorderScale 0 1 (bc North) curpos 0 white 7 1
maybetopborder _ _ = mempty maybetopborder _ _ = mempty
maybebottomborder a b curpos maybebottomborder a b curpos
| a == b - 1 = listCursorChooseBorderScale 0 1 [South] curpos 0 white 7 1 | a == b - 1 = listCursorChooseBorderScale 0 1 (bc South) curpos 0 white 7 1
| otherwise = mempty | otherwise = mempty
otheritem j = fromMaybe "" $ do otheritem j = fromMaybe "" $ do
itm <- you w ^? crInv . ix j itm <- you w ^? crInv . ix j
@@ -282,8 +297,12 @@ combineInventoryExtra sss msel cfig w = fromMaybe mempty $ do
let idp = invDisplayParams w let idp = invDisplayParams w
return $ return $
translateScreenPos cfig (idp ^. ldpPos) $ translateScreenPos cfig (idp ^. ldpPos) $
selSecDrawCursor 17 idp (CursorDisplay [North, South, East, West]) selSecDrawCursor
sss' (Just (0, i)) 17
idp
(BoundaryCursor [North, South, East, West])
sss'
(Just (0, i))
displayTerminal :: Int -> Configuration -> LWorld -> Picture displayTerminal :: Int -> Configuration -> LWorld -> Picture
displayTerminal tid cfig w = fromMaybe mempty $ do displayTerminal tid cfig w = fromMaybe mempty $ do
+27 -7
View File
@@ -1,22 +1,42 @@
module Dodge.Render.InfoBox module Dodge.Render.InfoBox (
( renderInfoListAt renderInfoListAt,
, renderInfoListsAt renderInfoListsAt,
) where ) where
import Dodge.Data.CardinalPoint -- this should be imported implicitly -- this should be imported implicitly
import Dodge.Base import Dodge.Base
import Dodge.Data.Camera import Dodge.Data.Camera
import Dodge.Data.CardinalPoint
import Dodge.Data.Config import Dodge.Data.Config
import Dodge.Data.SelectionList
import Dodge.Render.Connectors import Dodge.Render.Connectors
import Dodge.Render.List import Dodge.Render.List
import Geometry import Geometry
import Picture import Picture
renderInfoListAt :: Float -> Float -> Configuration -> Camera -> (Point2, [String]) -> Picture renderInfoListAt ::
Float ->
Float ->
Configuration ->
Camera ->
(Point2, [String]) ->
Picture
renderInfoListAt x y cfig cam (p, ss) = renderInfoListAt x y cfig cam (p, ss) =
toTopLeft cfig (renderListAt x y (zip ss (repeat white))) toTopLeft cfig (renderListAt x y (zip ss (repeat white)))
<> color white (lConnect (V2 (x - hw) (hh -25 - y)) (worldPosToScreen cam p)) <> color white (lConnect (V2 (x - hw) (hh -25 - y)) (worldPosToScreen cam p))
<> toTopLeft cfig (translate x (-y) $ listCursorChooseBorderScale 0 1 [North,South] 0 0 white 19 (length ss)) <> toTopLeft
cfig
( translate x (- y) $
listCursorChooseBorderScale
0
1
(BoundaryCursor [North, South])
0
0
white
19
(length ss)
)
where where
hw = halfWidth cfig hw = halfWidth cfig
hh = halfHeight cfig hh = halfHeight cfig
+44 -50
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Render.List ( module Dodge.Render.List (
renderListAt, renderListAt,
drawList, drawList,
@@ -13,14 +14,13 @@ module Dodge.Render.List (
selSecDrawCursorAt, selSecDrawCursorAt,
) where ) where
import Dodge.SelectionSections
import Data.Maybe import Data.Maybe
import Dodge.Base.Window import Dodge.Base.Window
import Dodge.Data.CardinalPoint import Dodge.Data.CardinalPoint
import Dodge.Data.Config import Dodge.Data.Config
import Dodge.Data.SelectionList import Dodge.Data.SelectionList
import Dodge.ScreenPos import Dodge.ScreenPos
import Dodge.SelectionList import Dodge.SelectionSections
import Geometry import Geometry
import LensHelp import LensHelp
import ListHelp import ListHelp
@@ -28,38 +28,29 @@ import Picture
drawSelectionList :: ListDisplayParams -> Configuration -> SelectionList a -> Picture drawSelectionList :: ListDisplayParams -> Configuration -> SelectionList a -> Picture
drawSelectionList ldps cfig sl = drawSelectionList ldps cfig sl =
translateScreenPos translateScreenPos cfig (ldps ^. ldpPos) $
cfig drawListYgapScaleYoff
(ldps ^. ldpPos) (ldps ^. ldpVerticalGap)
$ drawListYgapScaleYoff (ldps ^. ldpScale)
(_ldpVerticalGap ldps)
(_ldpScale ldps)
0 0
(makeSelectionListPictures sl) (makeSelectionListPictures sl)
<> drawSelectionCursor sl ldps (CursorDisplay [North,West,South]) <> drawCursorAt
(sl ^. slSelPos)
drawSelectionCursor :: SelectionList a (sl ^. slItems)
-> ListDisplayParams ldps
-> CursorDisplay (BoundaryCursor [North, South])
-> Picture
drawSelectionCursor sl = drawCursorAt (f $ sl ^. slSelPos) (getShownItems sl)
where
-- the following is quite hacky
f = case sl ^. slRegex of
_ | sl ^. slRegexInput -> const (Just 0)
"" | not (sl ^. slRegexInput) -> id
_ -> fmap (+ 1)
makeSelectionListPictures :: SelectionList a -> [Picture] makeSelectionListPictures :: SelectionList a -> [Picture]
makeSelectionListPictures = concatMap f . getShownItems makeSelectionListPictures = concatMap f . _slItems
where where
f si = map (color (_siColor si) . text) $ _siPictures si f si = map (color (_siColor si) . text) $ _siPictures si
--f si = map ((flip inverseText) ((_siColor si))) $ _siPictures si
drawCursorAt :: Maybe Int -> [SelectionItem a] drawCursorAt ::
-> ListDisplayParams Maybe Int ->
-> CursorDisplay [SelectionItem a] ->
-> Picture ListDisplayParams ->
CursorDisplay ->
Picture
drawCursorAt mi lis ldps curs = fromMaybe mempty $ do drawCursorAt mi lis ldps curs = fromMaybe mempty $ do
i <- mi i <- mi
selit <- lis !? i selit <- lis !? i
@@ -67,7 +58,7 @@ drawCursorAt mi lis ldps curs = fromMaybe mempty $ do
listCursorChooseBorderScale listCursorChooseBorderScale
(_ldpVerticalGap ldps) (_ldpVerticalGap ldps)
(_ldpScale ldps) (_ldpScale ldps)
(curs ^. cursSides) curs
(sum . map _siHeight $ take i lis) (sum . map _siHeight $ take i lis)
(_siOffX selit) (_siOffX selit)
(_siColor selit) (_siColor selit)
@@ -91,14 +82,14 @@ stackPicturesAt = stackPicturesAtOff 0
stackPicturesAtOff :: Int -> [Picture] -> Picture stackPicturesAtOff :: Int -> [Picture] -> Picture
stackPicturesAtOff i = mconcat . zipWith (drawListElement 10 1 0) [i, i -1 ..] stackPicturesAtOff i = mconcat . zipWith (drawListElement 10 1 0) [i, i -1 ..]
selSecDrawCursorAt selSecDrawCursorAt ::
:: (Int,Int) Int ->
-> Int ListDisplayParams ->
-> ListDisplayParams CursorDisplay ->
-> CursorDisplay SelectionSections a ->
-> SelectionSections a (Int, Int) ->
-> Picture Picture
selSecDrawCursorAt (i,j) xsize ldp curs sss = fromMaybe mempty $ do selSecDrawCursorAt xsize ldp curs sss (i, j) = fromMaybe mempty $ do
yint <- selSecYint i j sss yint <- selSecYint i j sss
xint <- sss ^? sssSections . ix i . ssIndent xint <- sss ^? sssSections . ix i . ssIndent
si <- sss ^? sssSections . ix i . ssItems . ix j si <- sss ^? sssSections . ix i . ssItems . ix j
@@ -106,45 +97,48 @@ selSecDrawCursorAt (i,j) xsize ldp curs sss = fromMaybe mempty $ do
listCursorChooseBorderScale listCursorChooseBorderScale
(ldp ^. ldpVerticalGap) (ldp ^. ldpVerticalGap)
(ldp ^. ldpScale) (ldp ^. ldpScale)
(curs ^. cursSides) curs
yint yint
(xint + _siOffX si) (xint + _siOffX si)
(_siColor si) (_siColor si)
xsize xsize
(_siHeight si) (_siHeight si)
selSecDrawCursor :: Int -> ListDisplayParams selSecDrawCursor ::
-> CursorDisplay Int ->
-> SelectionSections a -> ListDisplayParams ->
Maybe (Int,Int) -> Picture CursorDisplay ->
selSecDrawCursor xsize ldp curs sss msel = maybe mempty SelectionSections a ->
(\x -> selSecDrawCursorAt x xsize ldp curs sss) Maybe (Int, Int) ->
msel Picture
selSecDrawCursor xsize ldp curs = maybe mempty . selSecDrawCursorAt xsize ldp curs
-- displays a cursor that should match up to list text pictures -- displays a cursor that should match up to list text pictures
listCursorChooseBorderScale :: listCursorChooseBorderScale ::
Float -> Float ->
Float -> Float ->
[CardinalPoint] -> CursorDisplay ->
Int -> Int ->
Int -> Int ->
Color -> Color ->
Int -> Int ->
Int -> Int ->
Picture Picture
listCursorChooseBorderScale ygap s borders yint xint col cursxsize cursysize = listCursorChooseBorderScale ygap s curs yint xint col cursxsize cursysize =
translate translate
((10 * fromIntegral xint - 5) * s) ((10 * fromIntegral xint - 5) * s)
(- (ygap + (s * 20 + ygap) * fromIntegral yint )) (- (ygap + (s * 20 + ygap) * fromIntegral yint))
. color col . color col
$ chooseCursorBorders (s * wth) (s * hgt) borders $ chooseCursorBorders (s * wth) (s * hgt) curs
where where
wth = 10 * (fromIntegral cursxsize + 1) wth = 10 * (fromIntegral cursxsize + 1)
hgt = 20 * fromIntegral cursysize + ygap * (fromIntegral cursysize - 1) hgt = 20 * fromIntegral cursysize + ygap * (fromIntegral cursysize - 1)
-- note we cannot simply scale lines because they are drawn as solid rectangles -- note we cannot simply scale lines because they are drawn as solid rectangles
chooseCursorBorders :: Float -> Float -> [CardinalPoint] -> Picture chooseCursorBorders :: Float -> Float -> CursorDisplay -> Picture
chooseCursorBorders w h = foldMap (line . toLine) chooseCursorBorders w h = \case
BoundaryCursor ps -> foldMap (line . toLine) ps
BackdropCursor -> polygon . reverse $ rectNSWE 0 h' 0 w
where where
h' = negate h h' = negate h
toLine North = [V2 0 0, V2 w 0] toLine North = [V2 0 0, V2 w 0]
-6
View File
@@ -1,5 +1,4 @@
module Dodge.SelectionList ( module Dodge.SelectionList (
getShownItems,
getAvailableListLines, getAvailableListLines,
) where ) where
@@ -17,8 +16,3 @@ getAvailableListLines ldps cfig = floor ((dToBot - vgap) / itmHeight)
dToBot = dToBot =
winy / 2 + winy * (ldps ^. ldpPos . spScreenOff . _y) winy / 2 + winy * (ldps ^. ldpPos . spScreenOff . _y)
+ (ldps ^. ldpPos . spPixelOff . _y) + (ldps ^. ldpPos . spPixelOff . _y)
getShownItems :: SelectionList a -> [SelectionItem a]
getShownItems sl = case sl ^. slRegexList of
[] -> sl ^. slItems
xs -> fmap fst xs
+18 -20
View File
@@ -3,7 +3,7 @@ module Dodge.SelectionSections (
ssLookupDown, ssLookupDown,
ssLookupGT, ssLookupGT,
ssSetCursor, ssSetCursor,
-- setFirstPosSelectionSections, -- setFirstPosSelectionSections,
selSecYint, selSecYint,
selSecSelSize, selSecSelSize,
inverseSelSecYint, inverseSelSecYint,
@@ -23,13 +23,17 @@ import Dodge.Data.Config
import Dodge.Data.SelectionList import Dodge.Data.SelectionList
import Dodge.ScreenPos import Dodge.ScreenPos
import Geometry.Data import Geometry.Data
import Data.Foldable
scrollSelectionSections :: Int -> SelectionSections a -> Maybe (Int,Int) scrollSelectionSections ::
-> Maybe (Int,Int) Int ->
SelectionSections a ->
Maybe (Int, Int) ->
Maybe (Int, Int)
scrollSelectionSections yi sss msel scrollSelectionSections yi sss msel
| yi == 0 = msel | yi == 0 = msel
| yi > 0 = foldr ($) msel $ replicate yi (ssScrollUsing ssLookupUp sss) | yi > 0 = foldl' (&) msel $ replicate yi (ssScrollUsing ssLookupUp sss)
| otherwise = foldr ($) msel $ replicate (negate yi) (ssScrollUsing ssLookupDown sss) | otherwise = foldl' (&) msel $ replicate (negate yi) (ssScrollUsing ssLookupDown sss)
--setFirstPosSelectionSections :: SelectionSections a -> SelectionSections a --setFirstPosSelectionSections :: SelectionSections a -> SelectionSections a
--setFirstPosSelectionSections sss = fromMaybe sss $ do --setFirstPosSelectionSections sss = fromMaybe sss $ do
@@ -39,21 +43,15 @@ scrollSelectionSections yi sss msel
ssScrollUsing :: ssScrollUsing ::
(Int -> Int -> SelectionSections a -> Maybe (Int, Int, SelectionItem a)) -> (Int -> Int -> SelectionSections a -> Maybe (Int, Int, SelectionItem a)) ->
SelectionSections a -> SelectionSections a ->
Maybe (Int,Int) -> Maybe (Int, Int) ->
Maybe (Int,Int) Maybe (Int, Int)
ssScrollUsing g sss msel = ssScrollUsing g =
( ssScrollMinOnFail ssScrollMinOnFail
g g
(sss & sssSections %~ fmap (ssItems %~ IM.filter _siIsSelectable)) . (sssSections %~ fmap (ssItems %~ IM.filter _siIsSelectable))
msel
)
ssScrollMinOnFail :: ssScrollMinOnFail ::
( Int -> (Int -> Int -> SelectionSections a -> Maybe (Int, Int, SelectionItem a)) ->
Int ->
SelectionSections a ->
Maybe (Int, Int, SelectionItem a)
) ->
SelectionSections a -> SelectionSections a ->
Maybe (Int, Int) -> Maybe (Int, Int) ->
Maybe (Int, Int) Maybe (Int, Int)
@@ -66,8 +64,8 @@ ssScrollMinOnFail f sss msel = fmap (\(i, j, _) -> (i, j)) $ l <|> ssLookupMin s
ssSetCursor :: ssSetCursor ::
(SelectionSections a -> Maybe (Int, Int, SelectionItem a)) -> (SelectionSections a -> Maybe (Int, Int, SelectionItem a)) ->
SelectionSections a -> SelectionSections a ->
Maybe (Int,Int) -> Maybe (Int, Int) ->
Maybe (Int,Int) Maybe (Int, Int)
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) return $ Just (i, j)
@@ -205,7 +203,7 @@ inverseSelBoundaryUp cfig ldp sss (V2 _ y) = do
let mselup = inverseSelSecYint (posSelSecYint cfig ldp y - 1) sss let mselup = inverseSelSecYint (posSelSecYint cfig ldp y - 1) sss
if Just sel == mselup if Just sel == mselup
then return $ sel & _2 +~ 1 then return $ sel & _2 +~ 1
else return $ sel else return sel
inverseSelBoundaryDown :: inverseSelBoundaryDown ::
Configuration -> Configuration ->
+2 -2
View File
@@ -363,7 +363,7 @@ shiftInvItemsUp :: (Int, Int) -> Int -> World -> World
shiftInvItemsUp (_, i) x w = foldl' f w [i .. i + x] shiftInvItemsUp (_, i) x w = foldl' f w [i .. i + x]
where where
f w' i' = swapInvItems g i' w' f w' i' = swapInvItems g i' w'
g i' m = fmap fst $ IM.lookupLT i' m g i' m = fst <$> IM.lookupLT i' m
shiftInvItemsDown :: (Int, Int) -> Int -> World -> World shiftInvItemsDown :: (Int, Int) -> Int -> World -> World
shiftInvItemsDown (_, i) x w = fromMaybe w $ do shiftInvItemsDown (_, i) x w = fromMaybe w $ do
@@ -372,7 +372,7 @@ shiftInvItemsDown (_, i) x w = fromMaybe w $ do
return $ foldl' f w $ reverse [i .. i + x] return $ foldl' f w $ reverse [i .. i + x]
where where
f w' i' = swapInvItems g i' w' f w' i' = swapInvItems g i' w'
g i' m = fmap fst $ IM.lookupGT i' m g i' m = fst <$> IM.lookupGT i' m
updateMouseOverInventory :: Configuration -> World -> World updateMouseOverInventory :: Configuration -> World -> World
updateMouseOverInventory cfig w = fromMaybe w $ do updateMouseOverInventory cfig w = fromMaybe w $ do
+2 -4
View File
@@ -2,6 +2,7 @@ module Dodge.Update.Input.InGame (
updateUseInputInGame, updateUseInputInGame,
) where ) where
import Control.Applicative
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
import Data.List (sort) import Data.List (sort)
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
@@ -236,10 +237,7 @@ updateEnterRegex w = case w ^? hud . hudElement . subInventory of
secfocus a b = fromMaybe False $ do secfocus a b = fromMaybe False $ do
i <- di ^? diSelection . _Just . _1 i <- di ^? diSelection . _Just . _1
return $ i == a || i == b return $ i == a || i == b
enterregex x sss = enterregex x = sssExtra . sssFilters . ix x %~ (<|> Just "")
sss & sssExtra . sssFilters . ix x %~ f
f Nothing = Just ""
f x = x
pauseGame :: Universe -> Universe pauseGame :: Universe -> Universe
pauseGame u = u & uvScreenLayers .~ [pauseMenu u] pauseGame u = u & uvScreenLayers .~ [pauseMenu u]
+2 -4
View File
@@ -15,10 +15,8 @@ module IntMapHelp
unsafeSwapKeys, unsafeSwapKeys,
safeSwapKeys, safeSwapKeys,
findIndex, findIndex,
cycleGT, cycleGT,
cycleLT, cycleLT,
invertIntMap, invertIntMap,
) where ) where
@@ -99,7 +97,7 @@ cycleLT :: Int -> IntMap a -> Maybe (Int, a)
cycleLT i m = lookupLT i m <|> lookupMax m cycleLT i m = lookupLT i m <|> lookupMax m
invertIntMap :: Ord a => IntMap a -> M.Map a [Int] invertIntMap :: Ord a => IntMap a -> M.Map a [Int]
invertIntMap = foldrWithKey invertIntMap =
foldrWithKey
(\k xs -> M.insertWith (++) xs [k]) (\k xs -> M.insertWith (++) xs [k])
mempty mempty
-8
View File
@@ -1,8 +0,0 @@
module Regex where
import Data.List
regexIn :: String -> String -> Bool
regexIn = isInfixOf
regexList :: String -> [String] -> Bool
regexList x = any (isInfixOf x)
+145 -148
View File
@@ -128,6 +128,7 @@ BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 113;" C
BULLETMOD src/Dodge/Data/Item/Combine.hs 24;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 24;" C
BULLETSYNTHESIZER src/Dodge/Data/Item/Combine.hs 80;" C BULLETSYNTHESIZER src/Dodge/Data/Item/Combine.hs 80;" C
BURSTRIFLE src/Dodge/Data/Item/Combine.hs 142;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 142;" C
BackdropCursor src/Dodge/Data/SelectionList.hs 29;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C
Ball src/Dodge/Tesla/Ball.hs 1;" m Ball src/Dodge/Tesla/Ball.hs 1;" m
Bark src/Dodge/Data/ActionPlan.hs 40;" C Bark src/Dodge/Data/ActionPlan.hs 40;" C
@@ -196,6 +197,7 @@ BottomEscapeMenuOption src/Dodge/Data/Universe.hs 73;" C
BounceBullet src/Dodge/Data/Bullet.hs 38;" C BounceBullet src/Dodge/Data/Bullet.hs 38;" C
Bound src/Bound.hs 1;" m Bound src/Bound.hs 1;" m
Bound_box_screen src/Dodge/Data/Config.hs 81;" C Bound_box_screen src/Dodge/Data/Config.hs 81;" C
BoundaryCursor src/Dodge/Data/SelectionList.hs 26;" C
Bounds src/Dodge/Data/Bounds.hs 12;" t Bounds src/Dodge/Data/Bounds.hs 12;" t
Bounds src/Dodge/Data/Bounds.hs 6;" m Bounds src/Dodge/Data/Bounds.hs 6;" m
Branch src/Dodge/Room/Branch.hs 4;" m Branch src/Dodge/Room/Branch.hs 4;" m
@@ -689,7 +691,7 @@ FetchItem src/Dodge/Data/Scenario.hs 11;" C
Fixated src/Dodge/Data/Creature/Perception.hs 62;" C Fixated src/Dodge/Data/Creature/Perception.hs 62;" C
FixedCoordLayer src/Picture/Data.hs 28;" C FixedCoordLayer src/Picture/Data.hs 28;" C
FixedRate src/Dodge/Data/Item/HeldDelay.hs 15;" C FixedRate src/Dodge/Data/Item/HeldDelay.hs 15;" C
FixedSelectionWidth src/Dodge/Data/SelectionList.hs 69;" C FixedSelectionWidth src/Dodge/Data/SelectionList.hs 65;" C
FlIt src/Dodge/Data/FloorItem.hs 16;" C FlIt src/Dodge/Data/FloorItem.hs 16;" C
Flame src/Dodge/Data/Flame.hs 14;" t Flame src/Dodge/Data/Flame.hs 14;" t
Flame src/Dodge/Data/Flame.hs 6;" m Flame src/Dodge/Data/Flame.hs 6;" m
@@ -921,7 +923,7 @@ IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 105;" C
InvInt src/Dodge/Data/Item/Location.hs 18;" t InvInt src/Dodge/Data/Item/Location.hs 18;" t
Inventory src/Dodge/Inventory.hs 2;" m Inventory src/Dodge/Inventory.hs 2;" m
InventoryChange src/Dodge/Data/World.hs 33;" C InventoryChange src/Dodge/Data/World.hs 33;" C
InventoryColor src/Dodge/Item/InventoryColor.hs 2;" m InventoryColor src/Dodge/Item/InventoryColor.hs 1;" m
InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C
Investigate src/Dodge/Data/ActionPlan.hs 184;" C Investigate src/Dodge/Data/ActionPlan.hs 184;" C
Invisible src/Dodge/Data/CamouflageStatus.hs 13;" C Invisible src/Dodge/Data/CamouflageStatus.hs 13;" C
@@ -971,7 +973,7 @@ LBlink src/Dodge/Data/Item/HeldUse.hs 43;" C
LBoost src/Dodge/Data/Item/HeldUse.hs 45;" C LBoost src/Dodge/Data/Item/HeldUse.hs 45;" C
LDT src/Dodge/Data/DoubleTree.hs 39;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTComb src/Dodge/Item/Grammar.hs 124;" t LDTComb src/Dodge/Item/Grammar.hs 125;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C
@@ -1635,7 +1637,7 @@ SPRING src/Dodge/Data/Item/Combine.hs 31;" C
SPic src/ShapePicture/Data.hs 7;" t SPic src/ShapePicture/Data.hs 7;" t
SPic src/Dodge/Item/Draw/SPic.hs 3;" m SPic src/Dodge/Item/Draw/SPic.hs 3;" m
SQUARE src/Dodge/Data/GenParams.hs 20;" C SQUARE src/Dodge/Data/GenParams.hs 20;" C
SSSExtra src/Dodge/Data/SelectionList.hs 47;" t SSSExtra src/Dodge/Data/SelectionList.hs 44;" t
ST src/Dodge/Tree/Compose/Data.hs 12;" C ST src/Dodge/Tree/Compose/Data.hs 12;" C
STEELDRUM src/Dodge/Data/Item/Combine.hs 36;" C STEELDRUM src/Dodge/Data/Item/Combine.hs 36;" C
STOPWATCH src/Dodge/Data/Item/Combine.hs 121;" C STOPWATCH src/Dodge/Data/Item/Combine.hs 121;" C
@@ -1649,7 +1651,7 @@ Scenario src/Dodge/Scenario.hs 1;" m
ScodeToChar src/Dodge/ScodeToChar.hs 1;" m ScodeToChar src/Dodge/ScodeToChar.hs 1;" m
Scope src/Dodge/Data/Item/Scope.hs 13;" t Scope src/Dodge/Data/Item/Scope.hs 13;" t
Scope src/Dodge/Data/Item/Scope.hs 6;" m Scope src/Dodge/Data/Item/Scope.hs 6;" m
Scope src/Dodge/Item/Scope.hs 2;" m Scope src/Dodge/Item/Scope.hs 1;" m
ScreenLayer src/Dodge/Data/Universe.hs 77;" t ScreenLayer src/Dodge/Data/Universe.hs 77;" t
ScreenLayer src/Dodge/Update/Input/ScreenLayer.hs 1;" m ScreenLayer src/Dodge/Update/Input/ScreenLayer.hs 1;" m
ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t
@@ -1658,7 +1660,7 @@ ScreenPos src/Dodge/ScreenPos.hs 1;" m
Scroll src/Dodge/Update/Scroll.hs 1;" m Scroll src/Dodge/Update/Scroll.hs 1;" m
ScrollValue src/Dodge/ScrollValue.hs 1;" m ScrollValue src/Dodge/ScrollValue.hs 1;" m
SecretCabal src/Dodge/Data/Scenario.hs 44;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 51;" t SectionCursor src/Dodge/Data/SelectionList.hs 48;" t
SeeAbove src/Dodge/Data/Wall.hs 40;" C SeeAbove src/Dodge/Data/Wall.hs 40;" C
SeeThrough src/Dodge/Data/Wall.hs 39;" C SeeThrough src/Dodge/Data/Wall.hs 39;" C
SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C SelCloseObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
@@ -1666,17 +1668,17 @@ SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelectUse src/Dodge/SelectUse.hs 1;" m SelectUse src/Dodge/SelectUse.hs 1;" m
Select_creature src/Dodge/Data/Config.hs 92;" C Select_creature src/Dodge/Data/Config.hs 92;" C
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" C
SelectionInfo src/Dodge/Data/SelectionList.hs 82;" C SelectionInfo src/Dodge/Data/SelectionList.hs 78;" C
SelectionItem src/Dodge/Data/SelectionList.hs 73;" t SelectionItem src/Dodge/Data/SelectionList.hs 69;" t
SelectionList src/Dodge/Data/SelectionList.hs 29;" t SelectionList src/Dodge/Data/SelectionList.hs 31;" t
SelectionList src/Dodge/Data/SelectionList.hs 6;" m SelectionList src/Dodge/Data/SelectionList.hs 6;" m
SelectionList src/Dodge/Default/SelectionList.hs 1;" m SelectionList src/Dodge/Default/SelectionList.hs 1;" m
SelectionList src/Dodge/Inventory/SelectionList.hs 2;" m SelectionList src/Dodge/Inventory/SelectionList.hs 2;" m
SelectionList src/Dodge/SelectionList.hs 1;" m SelectionList src/Dodge/SelectionList.hs 1;" m
SelectionSection src/Dodge/Data/SelectionList.hs 57;" t SelectionSection src/Dodge/Data/SelectionList.hs 54;" t
SelectionSections src/Dodge/Data/SelectionList.hs 39;" t SelectionSections src/Dodge/Data/SelectionList.hs 36;" t
SelectionSections src/Dodge/SelectionSections.hs 1;" m SelectionSections src/Dodge/SelectionSections.hs 1;" m
SelectionWidth src/Dodge/Data/SelectionList.hs 68;" t SelectionWidth src/Dodge/Data/SelectionList.hs 64;" t
SelfTree src/Dodge/Tree/Compose/Data.hs 12;" t SelfTree src/Dodge/Tree/Compose/Data.hs 12;" t
Sensor src/Dodge/Data/Machine/Sensor.hs 16;" t Sensor src/Dodge/Data/Machine/Sensor.hs 16;" t
Sensor src/Dodge/Data/Machine/Sensor.hs 6;" m Sensor src/Dodge/Data/Machine/Sensor.hs 6;" m
@@ -2018,7 +2020,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 36;" C
UseHotkey src/Dodge/Data/Item/Use.hs 44;" C UseHotkey src/Dodge/Data/Item/Use.hs 44;" C
UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C
UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m UseItem src/Dodge/Creature/Impulse/UseItem.hs 1;" m
UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 71;" C UseMaxSelectionItemWidth src/Dodge/Data/SelectionList.hs 67;" C
UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C
UseScope src/Dodge/Data/Item/Use.hs 60;" C UseScope src/Dodge/Data/Item/Use.hs 60;" C
UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C
@@ -2032,7 +2034,7 @@ VBO src/Shader/Data.hs 81;" t
VF src/Polyhedra/Data.hs 21;" t VF src/Polyhedra/Data.hs 21;" t
VIOLET src/Color/Data.hs 22;" C VIOLET src/Color/Data.hs 22;" C
VOLLEYGUN src/Dodge/Data/Item/Combine.hs 139;" C VOLLEYGUN src/Dodge/Data/Item/Combine.hs 139;" C
VariableSelectionWidth src/Dodge/Data/SelectionList.hs 70;" C VariableSelectionWidth src/Dodge/Data/SelectionList.hs 66;" C
Vector src/Geometry/Vector.hs 3;" m Vector src/Geometry/Vector.hs 3;" m
Vector3D src/Geometry/Vector3D.hs 2;" m Vector3D src/Geometry/Vector3D.hs 2;" m
VertexAttribute src/Shader/Data.hs 68;" t VertexAttribute src/Shader/Data.hs 68;" t
@@ -2389,7 +2391,7 @@ _ctPos src/Dodge/Data/Creature.hs 85;" f
_ctType src/Dodge/Data/Creature.hs 86;" f _ctType src/Dodge/Data/Creature.hs 86;" f
_currentArc src/Dodge/Data/Item/Params.hs 22;" f _currentArc src/Dodge/Data/Item/Params.hs 22;" f
_currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f _currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f
_cursSides src/Dodge/Data/SelectionList.hs 26;" f _cursSides src/Dodge/Data/SelectionList.hs 27;" f
_cwGen src/Dodge/Data/CWorld.hs 27;" f _cwGen src/Dodge/Data/CWorld.hs 27;" f
_cwTiles src/Dodge/Data/CWorld.hs 30;" f _cwTiles src/Dodge/Data/CWorld.hs 30;" f
_cwgGameRooms src/Dodge/Data/CWorld.hs 38;" f _cwgGameRooms src/Dodge/Data/CWorld.hs 38;" f
@@ -2988,9 +2990,9 @@ _scrollSmoothing src/Dodge/Data/World.hs 63;" f
_scrollSmoothing src/Dodge/Data/World.hs 69;" f _scrollSmoothing src/Dodge/Data/World.hs 69;" f
_scrollTestFloat src/Dodge/Data/Input.hs 31;" f _scrollTestFloat src/Dodge/Data/Input.hs 31;" f
_scrollTestInt src/Dodge/Data/Input.hs 32;" f _scrollTestInt src/Dodge/Data/Input.hs 32;" f
_scurColor src/Dodge/Data/SelectionList.hs 54;" f _scurColor src/Dodge/Data/SelectionList.hs 51;" f
_scurPos src/Dodge/Data/SelectionList.hs 52;" f _scurPos src/Dodge/Data/SelectionList.hs 49;" f
_scurSize src/Dodge/Data/SelectionList.hs 53;" f _scurSize src/Dodge/Data/SelectionList.hs 50;" f
_seenLocations src/Dodge/Data/LWorld.hs 139;" f _seenLocations src/Dodge/Data/LWorld.hs 139;" f
_seenWalls src/Dodge/Data/CWorld.hs 29;" f _seenWalls src/Dodge/Data/CWorld.hs 29;" f
_selLocation src/Dodge/Data/LWorld.hs 140;" f _selLocation src/Dodge/Data/LWorld.hs 140;" f
@@ -3016,17 +3018,17 @@ _shapeHalfSize src/Shape/Data.hs 18;" f
_shapeShader src/Data/Preload/Render.hs 25;" f _shapeShader src/Data/Preload/Render.hs 25;" f
_shockwaves src/Dodge/Data/LWorld.hs 114;" f _shockwaves src/Dodge/Data/LWorld.hs 114;" f
_shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f _shrinkGunStatus src/Dodge/Data/Item/Params.hs 18;" f
_siColor src/Dodge/Data/SelectionList.hs 78;" f _siColor src/Dodge/Data/SelectionList.hs 74;" f
_siColor src/Dodge/Data/SelectionList.hs 86;" f _siColor src/Dodge/Data/SelectionList.hs 82;" f
_siHeight src/Dodge/Data/SelectionList.hs 76;" f _siHeight src/Dodge/Data/SelectionList.hs 72;" f
_siHeight src/Dodge/Data/SelectionList.hs 84;" f _siHeight src/Dodge/Data/SelectionList.hs 80;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 77;" f _siIsSelectable src/Dodge/Data/SelectionList.hs 73;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 85;" f _siIsSelectable src/Dodge/Data/SelectionList.hs 81;" f
_siOffX src/Dodge/Data/SelectionList.hs 79;" f _siOffX src/Dodge/Data/SelectionList.hs 75;" f
_siOffX src/Dodge/Data/SelectionList.hs 87;" f _siOffX src/Dodge/Data/SelectionList.hs 83;" f
_siPayload src/Dodge/Data/SelectionList.hs 80;" f _siPayload src/Dodge/Data/SelectionList.hs 76;" f
_siPictures src/Dodge/Data/SelectionList.hs 75;" f _siPictures src/Dodge/Data/SelectionList.hs 71;" f
_siPictures src/Dodge/Data/SelectionList.hs 83;" f _siPictures src/Dodge/Data/SelectionList.hs 79;" f
_sideEffect src/Loop/Data.hs 13;" f _sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 170;" f
_sidePush src/Dodge/Data/Item/Use.hs 87;" f _sidePush src/Dodge/Data/Item/Use.hs 87;" f
@@ -3041,11 +3043,8 @@ _skWidth src/Dodge/Data/Spark.hs 20;" f
_skinHead src/Dodge/Data/Creature/Misc.hs 66;" f _skinHead src/Dodge/Data/Creature/Misc.hs 66;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 68;" f _skinLower src/Dodge/Data/Creature/Misc.hs 68;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f _skinUpper src/Dodge/Data/Creature/Misc.hs 67;" f
_slItems src/Dodge/Data/SelectionList.hs 30;" f _slItems src/Dodge/Data/SelectionList.hs 32;" f
_slRegex src/Dodge/Data/SelectionList.hs 32;" f _slSelPos src/Dodge/Data/SelectionList.hs 33;" f
_slRegexInput src/Dodge/Data/SelectionList.hs 33;" f
_slRegexList src/Dodge/Data/SelectionList.hs 34;" f
_slSelPos src/Dodge/Data/SelectionList.hs 31;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 25;" f _smoothScrollAmount src/Dodge/Data/Input.hs 25;" f
_soundAngDist src/Sound/Data.hs 53;" f _soundAngDist src/Sound/Data.hs 53;" f
_soundChannel src/Sound/Data.hs 52;" f _soundChannel src/Sound/Data.hs 52;" f
@@ -3061,16 +3060,16 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 11;" f
_spScreenOff src/Dodge/Data/ScreenPos.hs 10;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 10;" f
_sparks src/Dodge/Data/LWorld.hs 110;" f _sparks src/Dodge/Data/LWorld.hs 110;" f
_spawnEBT src/Dodge/Data/Bullet.hs 43;" f _spawnEBT src/Dodge/Data/Bullet.hs 43;" f
_ssCursor src/Dodge/Data/SelectionList.hs 59;" f _ssCursor src/Dodge/Data/SelectionList.hs 56;" f
_ssDescriptor src/Dodge/Data/SelectionList.hs 64;" f _ssDescriptor src/Dodge/Data/SelectionList.hs 61;" f
_ssIndent src/Dodge/Data/SelectionList.hs 63;" f _ssIndent src/Dodge/Data/SelectionList.hs 60;" f
_ssItems src/Dodge/Data/SelectionList.hs 58;" f _ssItems src/Dodge/Data/SelectionList.hs 55;" f
_ssMinSize src/Dodge/Data/SelectionList.hs 60;" f _ssMinSize src/Dodge/Data/SelectionList.hs 57;" f
_ssOffset src/Dodge/Data/SelectionList.hs 61;" f _ssOffset src/Dodge/Data/SelectionList.hs 58;" f
_ssShownItems src/Dodge/Data/SelectionList.hs 62;" f _ssShownItems src/Dodge/Data/SelectionList.hs 59;" f
_sssExtra src/Dodge/Data/SelectionList.hs 41;" f _sssExtra src/Dodge/Data/SelectionList.hs 38;" f
_sssFilters src/Dodge/Data/SelectionList.hs 48;" f _sssFilters src/Dodge/Data/SelectionList.hs 45;" f
_sssSections src/Dodge/Data/SelectionList.hs 40;" f _sssSections src/Dodge/Data/SelectionList.hs 37;" 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
@@ -3343,7 +3342,7 @@ airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f
allHotkeys src/Dodge/Creature/YourControl.hs 51;" f allHotkeys src/Dodge/Creature/YourControl.hs 51;" f
allInvLocs src/Dodge/Item/Grammar.hs 213;" f allInvLocs src/Dodge/Item/Grammar.hs 214;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f alongSegBy src/Geometry.hs 43;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f
@@ -3416,7 +3415,7 @@ 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 217;" f augInvDirectSelect src/Dodge/Inventory.hs 217;" f
augmentedHUD src/Dodge/Item/Scope.hs 49;" 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 350;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 350;" f
autoCrit src/Dodge/Creature/AutoCrit.hs 13;" f autoCrit src/Dodge/Creature/AutoCrit.hs 13;" f
@@ -3526,10 +3525,10 @@ bufferShaderLayers src/Shader/Bind.hs 36;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 80;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 80;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 72;" f bulletBeltPack src/Dodge/Item/Equipment.hs 72;" f
bulletCombinations src/Dodge/Combine/Graph.hs 34;" f bulletCombinations src/Dodge/Combine/Graph.hs 34;" f
bulletModule src/Dodge/Item/Scope.hs 37;" f bulletModule src/Dodge/Item/Scope.hs 35;" f
bulletPayloadModule src/Dodge/Item/Scope.hs 46;" f bulletPayloadModule src/Dodge/Item/Scope.hs 44;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 124;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 124;" f
bulletTargetingModule src/Dodge/Item/Scope.hs 43;" f bulletTargetingModule src/Dodge/Item/Scope.hs 41;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 246;" f bulletWeapons src/Dodge/Combine/Combinations.hs 246;" f
burstRifle src/Dodge/Item/Held/Cane.hs 74;" f burstRifle src/Dodge/Item/Held/Cane.hs 74;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f
@@ -3575,7 +3574,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f
checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f
checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f
chemFuelPouch src/Dodge/Item/Ammo.hs 110;" f chemFuelPouch src/Dodge/Item/Ammo.hs 110;" f
chooseCursorBorders src/Dodge/Render/List.hs 146;" f chooseCursorBorders src/Dodge/Render/List.hs 138;" f
chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f chooseEquipmentPosition src/Dodge/Inventory/RBList.hs 36;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 39;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 42;" f
@@ -3605,16 +3604,16 @@ cleatOnward src/Dodge/Cleat.hs 24;" f
cleatSide src/Dodge/Cleat.hs 27;" f cleatSide src/Dodge/Cleat.hs 27;" f
click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 414;" f click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 414;" f
clickDetector src/Dodge/Item/Held/Utility.hs 36;" f clickDetector src/Dodge/Item/Held/Utility.hs 36;" f
clickGetCreature src/Dodge/Debug.hs 82;" f clickGetCreature src/Dodge/Debug.hs 83;" f
clipV src/Geometry/Vector.hs 47;" f clipV src/Geometry/Vector.hs 47;" f
clipZoom src/Dodge/Update/Camera.hs 215;" f clipZoom src/Dodge/Update/Camera.hs 215;" f
clockCycle src/Dodge/Clock.hs 9;" f clockCycle src/Dodge/Clock.hs 9;" 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 162;" f closeObjectInfo src/Dodge/Render/HUD.hs 166;" f
closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f closeObjectToSelectionItem src/Dodge/Inventory/SelectionList.hs 54;" f
closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 69;" f closeObjectToTextPictures src/Dodge/Inventory/SelectionList.hs 69;" f
closestCreatureID src/Dodge/Debug.hs 91;" 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
closestPointOnSeg src/Geometry/Intersect.hs 282;" f closestPointOnSeg src/Geometry/Intersect.hs 282;" f
@@ -3637,7 +3636,7 @@ 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
collidePointWallsFilter src/Dodge/Base/Collide.hs 107;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 107;" f
collisionDebugItem src/Dodge/Debug.hs 30;" f collisionDebugItem src/Dodge/Debug.hs 31;" f
color src/Picture/Base.hs 108;" f color src/Picture/Base.hs 108;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 235;" f colorSH src/Shape.hs 235;" f
@@ -3647,7 +3646,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 251;" f combineInventoryExtra src/Dodge/Render/HUD.hs 270;" 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
@@ -3778,7 +3777,7 @@ cylinderIndices src/Shader/Poke.hs 374;" f
cylinderOnSeg src/Geometry.hs 125;" f cylinderOnSeg src/Geometry.hs 125;" f
cylinderPoly src/Shape.hs 86;" f cylinderPoly src/Shape.hs 86;" f
cylinderRoundIndices src/Shader/Poke.hs 381;" f cylinderRoundIndices src/Shader/Poke.hs 381;" f
dShadCol src/Dodge/Render/List.hs 201;" f dShadCol src/Dodge/Render/List.hs 195;" f
damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f damThingHitWith src/Dodge/WorldEvent/Damage.hs 10;" f
damToExpBarrel src/Dodge/Barreloid.hs 57;" f damToExpBarrel src/Dodge/Barreloid.hs 57;" f
damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f damageBlocksBy src/Dodge/Wall/Damage.hs 36;" f
@@ -3814,14 +3813,14 @@ deadUpperBody src/Dodge/Creature/Picture.hs 126;" f
debrisSize src/Dodge/Block/Debris.hs 111;" f debrisSize src/Dodge/Block/Debris.hs 111;" f
debugDraw src/Dodge/Debug/Picture.hs 124;" f debugDraw src/Dodge/Debug/Picture.hs 124;" f
debugDraw' src/Dodge/Debug/Picture.hs 135;" f debugDraw' src/Dodge/Debug/Picture.hs 135;" f
debugEvent src/Dodge/Debug.hs 24;" f debugEvent src/Dodge/Debug.hs 25;" f
debugEvents src/Dodge/Debug.hs 17;" f debugEvents src/Dodge/Debug.hs 18;" f
debugList src/Dodge/Debug.hs 78;" f debugList src/Dodge/Debug.hs 79;" f
debugMenu src/Dodge/Menu.hs 116;" f debugMenu src/Dodge/Menu.hs 116;" f
debugMenuOptions src/Dodge/Menu.hs 119;" f debugMenuOptions src/Dodge/Menu.hs 119;" f
debugOn src/Dodge/Data/Config.hs 149;" f debugOn src/Dodge/Data/Config.hs 149;" f
debugSelectCreatureList src/Dodge/Debug.hs 61;" f debugSelectCreatureList src/Dodge/Debug.hs 62;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 52;" f debugSelectCreatureMessage src/Dodge/Debug.hs 53;" f
decTimMvVel src/Dodge/Projectile/Update.hs 142;" f decTimMvVel src/Dodge/Projectile/Update.hs 142;" f
decodedtmap src/Dodge/Terminal.hs 203;" f decodedtmap src/Dodge/Terminal.hs 203;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 60;" f
@@ -3898,7 +3897,7 @@ defaultLWorld src/Dodge/Default/World.hs 92;" f
defaultLeftItem src/Dodge/Default/Item.hs 38;" f defaultLeftItem src/Dodge/Default/Item.hs 38;" f
defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f defaultLeftLoadable src/Dodge/Default/Item/Use/Consumption.hs 8;" f
defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f defaultLeftUse src/Dodge/Default/Item/Use.hs 14;" f
defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f defaultListDisplayParams src/Dodge/ListDisplayParams.hs 19;" f
defaultMachine src/Dodge/Default.hs 33;" f defaultMachine src/Dodge/Default.hs 33;" f
defaultMachineWall src/Dodge/Default/Wall.hs 48;" f defaultMachineWall src/Dodge/Default/Wall.hs 48;" f
defaultPP src/Dodge/Default.hs 66;" f defaultPP src/Dodge/Default.hs 66;" f
@@ -3944,7 +3943,7 @@ detV src/Geometry/Vector.hs 93;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 391;" f detectorColor src/Dodge/Item/Draw/SPic.hs 391;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 190;" f detectorInfo src/Dodge/Item/Info.hs 190;" f
determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 58;" f determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 56;" f
determineProjectileTracking src/Dodge/HeldUse.hs 485;" f determineProjectileTracking src/Dodge/HeldUse.hs 485;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
diffAngles src/Geometry.hs 196;" f diffAngles src/Geometry.hs 196;" f
@@ -3961,7 +3960,7 @@ displayConfig src/Dodge/Menu.hs 196;" f
displayControls src/Dodge/Menu.hs 206;" f displayControls src/Dodge/Menu.hs 206;" f
displayFrameTicks src/Dodge/Render/Picture.hs 33;" f displayFrameTicks src/Dodge/Render/Picture.hs 33;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 148;" f displayFreeSlots src/Dodge/DisplayInventory.hs 148;" f
displayTerminal src/Dodge/Render/HUD.hs 283;" f displayTerminal src/Dodge/Render/HUD.hs 307;" f
displayTerminalLineString src/Dodge/Update.hs 422;" f displayTerminalLineString src/Dodge/Update.hs 422;" f
dist src/Geometry/Vector.hs 179;" f dist src/Geometry/Vector.hs 179;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
@@ -4072,7 +4071,7 @@ drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f drawCarte src/Dodge/Render/HUD/Carte.hs 14;" f
drawCircFlare src/Dodge/Flare.hs 25;" f drawCircFlare src/Dodge/Flare.hs 25;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
drawCombineInventory src/Dodge/Render/HUD.hs 123;" f drawCombineInventory src/Dodge/Render/HUD.hs 126;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f
drawCorpse src/Dodge/Corpse/Draw.hs 6;" f drawCorpse src/Dodge/Corpse/Draw.hs 6;" f
drawCrInfo src/Dodge/Debug/Picture.hs 342;" f drawCrInfo src/Dodge/Debug/Picture.hs 342;" f
@@ -4080,16 +4079,16 @@ drawCreature src/Dodge/Render/ShapePicture.hs 82;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 165;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 165;" f
drawCross src/Dodge/Render/Label.hs 24;" f drawCross src/Dodge/Render/Label.hs 24;" f
drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f
drawCursorAt src/Dodge/Render/List.hs 59;" f drawCursorAt src/Dodge/Render/List.hs 47;" f
drawDDATest src/Dodge/Debug/Picture.hs 256;" f drawDDATest src/Dodge/Debug/Picture.hs 256;" f
drawDIMouseOver src/Dodge/Render/HUD.hs 79;" f drawDIMouseOver src/Dodge/Render/HUD.hs 80;" f
drawDISelections src/Dodge/Render/HUD.hs 97;" f drawDISelections src/Dodge/Render/HUD.hs 100;" f
drawDISelections' src/Dodge/Render/HUD.hs 106;" f drawDISelections' src/Dodge/Render/HUD.hs 109;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f drawDoorPaths src/Dodge/Debug/Picture.hs 217;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 81;" 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 132;" f drawExamineInventory src/Dodge/Render/HUD.hs 136;" 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
@@ -4108,10 +4107,10 @@ drawLampCover src/Dodge/Prop/Draw.hs 44;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f drawLaser src/Dodge/Laser/Draw.hs 6;" f
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
drawList src/Dodge/Render/List.hs 195;" f drawList src/Dodge/Render/List.hs 189;" f
drawListElement src/Dodge/Render/List.hs 175;" f drawListElement src/Dodge/Render/List.hs 169;" f
drawListYgapScaleYoff src/Dodge/Render/List.hs 85;" f drawListYgapScaleYoff src/Dodge/Render/List.hs 75;" f
drawListYoff src/Dodge/Render/List.hs 82;" f drawListYoff src/Dodge/Render/List.hs 72;" f
drawMachine src/Dodge/Machine/Draw.hs 14;" f drawMachine src/Dodge/Machine/Draw.hs 14;" f
drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f drawMapWall src/Dodge/Render/HUD/Carte.hs 33;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 53;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 53;" f
@@ -4130,12 +4129,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 180;" f drawRBOptions src/Dodge/Render/HUD.hs 184;" 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
drawSSCursor src/Dodge/SelectionSections/Draw.hs 26;" f drawSSCursor src/Dodge/SelectionSections/Draw.hs 26;" f
drawSelectionCursor src/Dodge/Render/List.hs 41;" f drawSelectionList src/Dodge/Render/List.hs 28;" f
drawSelectionList src/Dodge/Render/List.hs 29;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 13;" f drawSelectionSections src/Dodge/SelectionSections/Draw.hs 13;" f
drawSensor src/Dodge/Machine/Draw.hs 21;" f drawSensor src/Dodge/Machine/Draw.hs 21;" f
drawShader src/Shader.hs 27;" f drawShader src/Shader.hs 27;" f
@@ -4145,7 +4143,7 @@ drawShell src/Dodge/Projectile/Draw.hs 20;" f
drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 6;" f drawSpark src/Dodge/Spark/Draw.hs 6;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" f
drawSubInventory src/Dodge/Render/HUD.hs 115;" f drawSubInventory src/Dodge/Render/HUD.hs 118;" f
drawSweep src/Dodge/Render/ShapePicture.hs 63;" f drawSweep src/Dodge/Render/ShapePicture.hs 63;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
@@ -4197,7 +4195,7 @@ encircleP src/Dodge/Creature/Boid.hs 27;" f
enterCombineInv src/Dodge/DisplayInventory.hs 243;" f enterCombineInv src/Dodge/DisplayInventory.hs 243;" 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 223;" f equipAllocString src/Dodge/Render/HUD.hs 242;" 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 29;" f equipPosition src/Dodge/Item/Draw.hs 29;" f
@@ -4289,7 +4287,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 167;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 171;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 165;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 165;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" f
@@ -4350,7 +4348,7 @@ geqConstr src/SameConstr.hs 21;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 73;" f getAmmoLinks src/Dodge/Item/Grammar.hs 73;" f
getArguments src/Dodge/Update/Scroll.hs 154;" f getArguments src/Dodge/Update/Scroll.hs 154;" f
getArguments' src/Dodge/Update/Scroll.hs 142;" f getArguments' src/Dodge/Update/Scroll.hs 142;" f
getAvailableListLines src/Dodge/SelectionList.hs 11;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulletTrajectory src/Dodge/HeldUse.hs 347;" f getBulletTrajectory src/Dodge/HeldUse.hs 347;" f
getBulletType src/Dodge/HeldUse.hs 321;" f getBulletType src/Dodge/HeldUse.hs 321;" f
getCommands src/Dodge/Terminal.hs 115;" f getCommands src/Dodge/Terminal.hs 115;" f
@@ -4362,18 +4360,17 @@ getDamageCoding src/Dodge/Terminal.hs 175;" f
getDistortions src/Dodge/Render.hs 382;" f getDistortions src/Dodge/Render.hs 382;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getItem src/Dodge/Item/Location.hs 15;" f getItem src/Dodge/Item/Location.hs 15;" f
getLDPWidth src/Dodge/Render/List.hs 77;" f getLDPWidth src/Dodge/Render/List.hs 67;" f
getLaserColor src/Dodge/HeldUse.hs 196;" f getLaserColor src/Dodge/HeldUse.hs 196;" f
getLaserDamage src/Dodge/HeldUse.hs 193;" f getLaserDamage src/Dodge/HeldUse.hs 193;" f
getLaserPhaseV src/Dodge/HeldUse.hs 190;" f getLaserPhaseV src/Dodge/HeldUse.hs 190;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMouseInvSel src/Dodge/Render/HUD.hs 86;" f getMouseInvSel src/Dodge/Render/HUD.hs 89;" f
getMouseInvSel' src/Dodge/Render/HUD.hs 91;" f getMouseInvSel' src/Dodge/Render/HUD.hs 94;" f
getNodePos src/Dodge/Path.hs 31;" f 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
getSensor src/Dodge/Terminal.hs 187;" f getSensor src/Dodge/Terminal.hs 187;" f
getShownItems src/Dodge/SelectionList.hs 21;" 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
getTiles src/Dodge/Layout.hs 208;" f getTiles src/Dodge/Layout.hs 208;" f
@@ -4475,7 +4472,7 @@ hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 382;" f
holdForm src/Dodge/Creature/Boid.hs 136;" f holdForm src/Dodge/Creature/Boid.hs 136;" f
holsterWeapon src/Dodge/Creature/Volition.hs 14;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f
homingDrawType src/Dodge/Projectile/Create.hs 12;" f homingDrawType src/Dodge/Projectile/Create.hs 12;" f
homingModule src/Dodge/Item/Scope.hs 34;" f homingModule src/Dodge/Item/Scope.hs 32;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 54;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 54;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 39;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 39;" f
@@ -4554,29 +4551,29 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 315;" f intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 181;" f invAdj src/Dodge/Item/Grammar.hs 182;" f
invCursorParams src/Dodge/ListDisplayParams.hs 40;" f invCursorParams src/Dodge/ListDisplayParams.hs 38;" f
invDimColor src/Dodge/DisplayInventory.hs 142;" f invDimColor src/Dodge/DisplayInventory.hs 142;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 28;" f invDisplayParams src/Dodge/ListDisplayParams.hs 32;" f
invHead src/Dodge/Render/HUD.hs 319;" f invHead src/Dodge/Render/HUD.hs 343;" f
invLDT src/Dodge/Item/Grammar.hs 165;" f invLDT src/Dodge/Item/Grammar.hs 166;" f
invRootMap src/Dodge/Item/Grammar.hs 174;" f invRootMap src/Dodge/Item/Grammar.hs 175;" f
invRootTrees src/Dodge/Item/Grammar.hs 206;" f invRootTrees src/Dodge/Item/Grammar.hs 207;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 22;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 19;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 19;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 162;" f invSideEff src/Dodge/Creature/State.hs 162;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 194;" f invTrees src/Dodge/Item/Grammar.hs 195;" f
invTrees' src/Dodge/Item/Grammar.hs 198;" f invTrees' src/Dodge/Item/Grammar.hs 199;" f
inventoryExtra src/Dodge/Render/HUD.hs 232;" f inventoryExtra src/Dodge/Render/HUD.hs 251;" f
inventoryExtraH src/Dodge/Render/HUD.hs 243;" f inventoryExtraH src/Dodge/Render/HUD.hs 262;" f
inventoryX src/Dodge/Creature.hs 115;" f inventoryX src/Dodge/Creature.hs 115;" f
inverseSelBoundaryDown src/Dodge/SelectionSections.hs 210;" f inverseSelBoundaryDown src/Dodge/SelectionSections.hs 211;" f
inverseSelBoundaryUp src/Dodge/SelectionSections.hs 197;" f inverseSelBoundaryUp src/Dodge/SelectionSections.hs 198;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 188;" f inverseSelNumPos src/Dodge/SelectionSections.hs 189;" f
inverseSelSecYint src/Dodge/SelectionSections.hs 158;" f inverseSelSecYint src/Dodge/SelectionSections.hs 159;" f
inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 169;" f inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 170;" 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 101;" f invertIntMap src/IntMapHelp.hs 101;" f
@@ -4645,7 +4642,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 17;" f
itmUsageInfo src/Dodge/Item/Info.hs 196;" f itmUsageInfo src/Dodge/Item/Info.hs 196;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 156;" f joinItemsInList src/Dodge/Item/Grammar.hs 157;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f
@@ -4698,10 +4695,10 @@ ldtToIndentList src/Dodge/DoubleTree.hs 146;" f
ldtToLoc src/Dodge/DoubleTree.hs 187;" f ldtToLoc src/Dodge/DoubleTree.hs 187;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 93;" f leftInfo src/Dodge/Item/Info.hs 93;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 126;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 127;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f leftItemSPic src/Dodge/Item/Draw/SPic.hs 97;" f
leftPad src/Padding.hs 14;" f leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 140;" f leftRightCombine src/Dodge/Item/Grammar.hs 141;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f legsSPic src/Dodge/Item/Draw/SPic.hs 415;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
@@ -4726,15 +4723,15 @@ linksAndPath' src/Dodge/Room/Path.hs 44;" f
linksOnPath src/Dodge/Room/CheckConsistency.hs 7;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 7;" f
listConfig src/Dodge/Menu.hs 199;" f listConfig src/Dodge/Menu.hs 199;" f
listControls src/Dodge/Menu.hs 212;" f listControls src/Dodge/Menu.hs 212;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 125;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 117;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 188;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 235;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 235;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
llleft src/Dodge/Item/Grammar.hs 105;" f llleft src/Dodge/Item/Grammar.hs 105;" f
llright src/Dodge/Item/Grammar.hs 108;" f llright src/Dodge/Item/Grammar.hs 109;" 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 308;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 332;" 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
@@ -4824,7 +4821,7 @@ makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f makePathBetweenPs src/Dodge/Path.hs 54;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 26;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 26;" f
makeRect src/Grid.hs 82;" f makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 53;" f makeSelectionListPictures src/Dodge/Render/List.hs 42;" f
makeShaderEBO src/Shader/Compile.hs 53;" f makeShaderEBO src/Shader/Compile.hs 53;" f
makeShaderProgram src/Shader/Compile.hs 241;" f makeShaderProgram src/Shader/Compile.hs 241;" f
makeShaderUsingVAO src/Shader/Compile.hs 146;" f makeShaderUsingVAO src/Shader/Compile.hs 146;" f
@@ -5036,7 +5033,7 @@ onRemoveWristShield src/Dodge/Euse.hs 92;" f
onXY src/Geometry/Vector3D.hs 130;" f onXY src/Geometry/Vector3D.hs 130;" f
oneH src/Dodge/Creature/Test.hs 97;" f oneH src/Dodge/Creature/Test.hs 97;" f
openCursorAt src/Dodge/Render/HUD/Carte.hs 54;" f openCursorAt src/Dodge/Render/HUD/Carte.hs 54;" f
optionListDisplayParams src/Dodge/ListDisplayParams.hs 71;" f optionListDisplayParams src/Dodge/ListDisplayParams.hs 69;" f
optionMenu src/Dodge/Menu.hs 105;" f optionMenu src/Dodge/Menu.hs 105;" f
optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 50;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 50;" f
optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f
@@ -5235,7 +5232,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 139;" f posSelSecYint src/Dodge/SelectionSections.hs 140;" 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
@@ -5383,7 +5380,7 @@ reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 428;" f
reloadLevelStart src/Dodge/Save.hs 71;" f reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f
rememberSounds src/Dodge/Creature/Perception.hs 177;" f rememberSounds src/Dodge/Creature/Perception.hs 177;" f
remoteScreen src/Dodge/Item/Scope.hs 52;" f remoteScreen src/Dodge/Item/Scope.hs 50;" f
remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f remoteShellShape src/Dodge/Projectile/Draw.hs 42;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 308;" f removeAmmoFromMag src/Dodge/HeldUse.hs 308;" f
removeDot src/ShortShow.hs 30;" f removeDot src/ShortShow.hs 30;" f
@@ -5393,11 +5390,11 @@ removeShieldWall src/Dodge/Euse.hs 152;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 26;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f
renderFlatLighting src/Render.hs 104;" f renderFlatLighting src/Render.hs 104;" f
renderInfoListAt src/Dodge/Render/InfoBox.hs 15;" f renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
renderInfoListsAt src/Dodge/Render/InfoBox.hs 24;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
renderLayer src/Render.hs 233;" f renderLayer src/Render.hs 233;" f
renderLightingNoShadows src/Render.hs 48;" f renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 180;" f renderListAt src/Dodge/Render/List.hs 174;" f
renderShadows src/Render.hs 117;" f renderShadows src/Render.hs 117;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
@@ -5429,7 +5426,7 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 51;" f rifle src/Dodge/Item/Held/Cane.hs 51;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 133;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 134;" f
rightPad src/Padding.hs 22;" f 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
@@ -5530,7 +5527,7 @@ screenToWorldPos src/Dodge/Base/Coordinate.hs 53;" f
scrollAugInvSel src/Dodge/Inventory.hs 225;" f scrollAugInvSel src/Dodge/Inventory.hs 225;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 137;" f scrollCommandStrings src/Dodge/Update/Scroll.hs 137;" f
scrollCommands src/Dodge/Update/Scroll.hs 134;" f scrollCommands src/Dodge/Update/Scroll.hs 134;" f
scrollDebugInfoInt src/Dodge/Debug.hs 46;" f scrollDebugInfoInt src/Dodge/Debug.hs 47;" f
scrollRBOption src/Dodge/Update/Scroll.hs 111;" f scrollRBOption src/Dodge/Update/Scroll.hs 111;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 27;" f scrollSelectionSections src/Dodge/SelectionSections.hs 27;" f
scrollTimeBack src/Dodge/Update.hs 200;" f scrollTimeBack src/Dodge/Update.hs 200;" f
@@ -5545,18 +5542,18 @@ seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 418;" f
seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 360;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 360;" f
seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 512;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 512;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 203;" f
secondColumnParams src/Dodge/ListDisplayParams.hs 46;" f secondColumnParams src/Dodge/ListDisplayParams.hs 45;" 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
selNumPos src/Dodge/Render/HUD.hs 379;" f selNumPos src/Dodge/Render/HUD.hs 403;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 402;" f selNumPosCardinal src/Dodge/Render/HUD.hs 426;" f
selSecDrawCursor src/Dodge/Render/List.hs 116;" f selSecDrawCursor src/Dodge/Render/List.hs 106;" f
selSecDrawCursorAt src/Dodge/Render/List.hs 94;" f selSecDrawCursorAt src/Dodge/Render/List.hs 84;" f
selSecSelCol src/Dodge/Render/HUD.hs 425;" f selSecSelCol src/Dodge/Render/HUD.hs 449;" f
selSecSelSize src/Dodge/SelectionSections.hs 135;" f selSecSelSize src/Dodge/SelectionSections.hs 136;" f
selSecYint src/Dodge/SelectionSections.hs 144;" f selSecYint src/Dodge/SelectionSections.hs 145;" f
selectCreatureDebugItem src/Dodge/Debug.hs 38;" f selectCreatureDebugItem src/Dodge/Debug.hs 39;" f
selectUse src/Dodge/SelectUse.hs 11;" f selectUse src/Dodge/SelectUse.hs 11;" f
selectedCloseObject src/Dodge/Inventory.hs 238;" f selectedCloseObject src/Dodge/Inventory.hs 238;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 63;" f
@@ -5780,22 +5777,22 @@ 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 85;" f ssLookupDown src/Dodge/SelectionSections.hs 86;" f
ssLookupGE' src/Dodge/SelectionSections.hs 128;" f ssLookupGE' src/Dodge/SelectionSections.hs 129;" f
ssLookupGT src/Dodge/SelectionSections.hs 115;" f ssLookupGT src/Dodge/SelectionSections.hs 116;" f
ssLookupGT' src/Dodge/SelectionSections.hs 121;" f ssLookupGT' src/Dodge/SelectionSections.hs 122;" f
ssLookupLE' src/Dodge/SelectionSections.hs 103;" f ssLookupLE' src/Dodge/SelectionSections.hs 104;" f
ssLookupLT src/Dodge/SelectionSections.hs 90;" f ssLookupLT src/Dodge/SelectionSections.hs 91;" f
ssLookupLT' src/Dodge/SelectionSections.hs 96;" f ssLookupLT' src/Dodge/SelectionSections.hs 97;" f
ssLookupMax src/Dodge/SelectionSections.hs 75;" f ssLookupMax src/Dodge/SelectionSections.hs 76;" f
ssLookupMin src/Dodge/SelectionSections.hs 110;" f ssLookupMin src/Dodge/SelectionSections.hs 111;" f
ssLookupUp src/Dodge/SelectionSections.hs 80;" f ssLookupUp src/Dodge/SelectionSections.hs 81;" f
ssScrollMinOnFail src/Dodge/SelectionSections.hs 51;" f ssScrollMinOnFail src/Dodge/SelectionSections.hs 52;" f
ssScrollUsing src/Dodge/SelectionSections.hs 39;" f ssScrollUsing src/Dodge/SelectionSections.hs 42;" f
ssSetCursor src/Dodge/SelectionSections.hs 66;" f ssSetCursor src/Dodge/SelectionSections.hs 67;" f
ssfold src/FoldableHelp.hs 105;" f ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 88;" f stackPicturesAt src/Dodge/Render/List.hs 78;" f
stackPicturesAtOff src/Dodge/Render/List.hs 91;" f stackPicturesAtOff src/Dodge/Render/List.hs 81;" f
stackText src/Picture/Base.hs 188;" f stackText src/Picture/Base.hs 188;" f
stackedInventory src/Dodge/Creature.hs 282;" f stackedInventory src/Dodge/Creature.hs 282;" f
startCr src/Dodge/Creature.hs 91;" f startCr src/Dodge/Creature.hs 91;" f
@@ -5827,7 +5824,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 64;" f
stringToList src/Picture/Base.hs 313;" f stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 52;" f subInvX src/Dodge/ListDisplayParams.hs 50;" f
subMap src/TreeHelp.hs 118;" f subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
swapInOutLinks src/Dodge/RoomLink.hs 80;" f swapInOutLinks src/Dodge/RoomLink.hs 80;" f
@@ -5864,7 +5861,7 @@ targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 13;" f
targetYouLOS src/Dodge/Creature/ChooseTarget.hs 7;" f targetYouLOS src/Dodge/Creature/ChooseTarget.hs 7;" f
targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 194;" f targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 194;" f
targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f
targetingScope src/Dodge/Item/Scope.hs 23;" f targetingScope src/Dodge/Item/Scope.hs 22;" f
telRoomLev src/Dodge/Room/Teleport.hs 14;" f telRoomLev src/Dodge/Room/Teleport.hs 14;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 378;" f
teleportModule src/Dodge/Item/Craftable.hs 30;" f teleportModule src/Dodge/Item/Craftable.hs 30;" f
@@ -5926,10 +5923,10 @@ toColor8 src/Color.hs 148;" f
toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f toCombNodeLabel src/Dodge/Combine/Graph.hs 81;" f
toFloatVAs src/Shader/Compile.hs 211;" f toFloatVAs src/Shader/Compile.hs 211;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toLasgunUpdate src/Dodge/Item/Grammar.hs 113;" f toLasgunUpdate src/Dodge/Item/Grammar.hs 114;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f toOnward src/Dodge/Tree/Compose.hs 101;" f
toTopLeft src/Dodge/Render/List.hs 205;" f toTopLeft src/Dodge/Render/List.hs 199;" f
toV2 src/Geometry/Data.hs 36;" f toV2 src/Geometry/Data.hs 36;" f
toV3 src/Geometry/Data.hs 38;" f toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f toV4 src/Geometry/Data.hs 40;" f
@@ -5943,7 +5940,7 @@ togglesToEffects src/Dodge/Terminal.hs 245;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 460;" f tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 460;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 430;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 430;" f
tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 320;" f
topInvW src/Dodge/ListDisplayParams.hs 55;" 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 39;" f topTestPart src/Dodge/TestString.hs 39;" f
@@ -6311,7 +6308,7 @@ 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 184;" f youDropItem src/Dodge/Creature/Action.hs 184;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 174;" f yourAugmentedItem src/Dodge/Render/HUD.hs 178;" 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
@@ -6352,5 +6349,5 @@ zoomFloatingCamera src/Dodge/Update/Camera.hs 64;" f
zoomFromItem src/Dodge/Update/Camera.hs 211;" f zoomFromItem src/Dodge/Update/Camera.hs 211;" f
zoomInLongGun src/Dodge/Update/Camera.hs 155;" f zoomInLongGun src/Dodge/Update/Camera.hs 155;" f
zoomOutLongGun src/Dodge/Update/Camera.hs 163;" f zoomOutLongGun src/Dodge/Update/Camera.hs 163;" f
zoomScope src/Dodge/Item/Scope.hs 18;" f zoomScope src/Dodge/Item/Scope.hs 17;" f
zoomSpeed src/Dodge/Update/Camera.hs 152;" f zoomSpeed src/Dodge/Update/Camera.hs 152;" f