This commit is contained in:
2024-10-26 09:15:56 +01:00
parent dc34172691
commit f11dfe53db
5 changed files with 96 additions and 136 deletions
+1 -1
View File
@@ -1 +1 @@
All good (595 modules, at 00:00:33) All good (595 modules, at 09:13:37)
+15 -34
View File
@@ -47,31 +47,13 @@ updateCombineSections w cfig =
(getAvailableListLines secondColumnParams cfig) (getAvailableListLines secondColumnParams cfig)
[(0, sclose), (-1, sfclose)] [(0, sclose), (-1, sfclose)]
where where
(sfclose,sclose) = filterSectionsPair (flip (andOrRegex $ regexCombs invitms)) (sfclose, sclose) =
allcombs "COMBINATIONS" $ mstr filterSectionsPair
(flip . andOrRegex $ regexCombs invitms)
(IM.fromDistinctAscList . zip [0 ..] $ combineList w)
"COMBINATIONS"
$ w ^? hud . hudElement . subInventory . ciFilter . _Just
invitms = fromMaybe mempty $ w ^? hud . hudElement . diSections . ix 0 . ssItems invitms = fromMaybe mempty $ w ^? hud . hudElement . diSections . ix 0 . ssItems
allcombs = IM.fromDistinctAscList $ zip [0 ..] $ combineList w
-- filtcombs = fromMaybe allcombs $ do
-- str <- mstr
-- invitms <- w ^? hud . hudElement . diSections . ix 0 . ssItems
-- return $ IM.filter (flip (andOrRegex $ regexCombs invitms) str) allcombs
-- showncombs
-- | null filtcombs =
-- IM.singleton 0 $
-- SelectionInfo ["No possible combinations"] 1 False white 0
-- | otherwise = filtcombs
-- filterdisplay = fromMaybe mempty $ do
-- str <- mstr
-- return $
-- IM.singleton 0 $
-- SelectionInfo
-- ["COMBINATIONS FILTER: " ++ str, numfiltitems]
-- 2
-- True
-- white
-- 0
mstr = w ^? hud . hudElement . subInventory . ciFilter . _Just
-- numfiltitems = " " ++ show (length allcombs - length filtcombs) ++ " FILTERED"
regexCombs :: IM.IntMap (SelectionItem ()) -> SelectionItem CombinableItem -> String -> Bool regexCombs :: IM.IntMap (SelectionItem ()) -> SelectionItem CombinableItem -> String -> Bool
regexCombs inv ci str = case str of regexCombs inv ci str = case str of
@@ -113,21 +95,20 @@ updateDisplaySections w cfig =
Just (0, _) -> reverse [filtinv, filtclose, invx, youx, closex] Just (0, _) -> reverse [filtinv, filtclose, invx, youx, closex]
Just (1, _) -> reverse [filtinv, filtclose, invx, youx, closex] Just (1, _) -> reverse [filtinv, filtclose, invx, youx, closex]
Just (2, _) -> reverse [filtinv, filtclose, closex, invx, youx] Just (2, _) -> reverse [filtinv, filtclose, closex, invx, youx]
_ -> reverse [filtinv, filtclose, closex, invx, youx] Just (3, _) -> reverse [filtinv, filtclose, closex, invx, youx]
(sfinv,sinv) = filterSectionsPair plainRegex invitems "INVTORY" $ _ -> reverse [filtinv, filtclose, invx, closex, youx]
(sfinv, sinv) =
filterSectionsPair plainRegex invitems "INVENTORY" $
w ^? hud . hudElement . diInvFilter . _Just w ^? hud . hudElement . diInvFilter . _Just
(filtinv, invx) = ((-1, sfinv), (0, sinv)) (filtinv, invx) = ((-1, sfinv), (0, sinv))
-- filtpair (-1) invitems "INV. " $ (sfclose, sclose) =
-- w ^? hud . hudElement . diInvFilter . _Just filterSectionsPair plainRegex closeitms "NEARBY" $
(sfclose,sclose) = filterSectionsPair plainRegex coitems "NEARBY" $
w ^? hud . hudElement . diCloseFilter . _Just w ^? hud . hudElement . diCloseFilter . _Just
(filtclose, closex) = ((2, sfclose), (3, sclose)) (filtclose, closex) = ((2, sfclose), (3, sclose))
-- filtpair 2 coitems "NEARBY " $
-- w ^? hud . hudElement . diCloseFilter . _Just
youx = (1, youitems) youx = (1, youitems)
youitems = IM.singleton 0 $ SelectionItem [thetext] 1 True invDimColor 2 () youitems = IM.singleton 0 $ SelectionItem [thetext] 1 True invDimColor 2 ()
thetext = displayFreeSlots nfreeslots thetext = displayFreeSlots (crNumFreeSlots cr)
coitems = closeitms =
IM.fromDistinctAscList . zip [0 ..] $ IM.fromDistinctAscList . zip [0 ..] $
map closeObjectToSelectionItem (w ^. hud . closeObjects) map closeObjectToSelectionItem (w ^. hud . closeObjects)
invitems = invitems =
@@ -135,7 +116,7 @@ updateDisplaySections w cfig =
(\k (y, x) -> invSelectionItem y cr k (x ^. locLDT . ldtValue)) (\k (y, x) -> invSelectionItem y cr k (x ^. locLDT . ldtValue))
(allInvLocs $ _crInv cr) (allInvLocs $ _crInv cr)
cr = you w cr = you w
nfreeslots = crNumFreeSlots cr
-- filtpair i itms filtdescription mstr = -- filtpair i itms filtdescription mstr =
-- ( (i, filtsis) -- ( (i, filtsis)
-- , (i + 1, itms') -- , (i + 1, itms')
+45 -19
View File
@@ -2,6 +2,7 @@ module Dodge.Render.Picture (
fixedCoordPictures, fixedCoordPictures,
) where ) where
import Control.Monad
import Control.Lens import Control.Lens
import Data.Maybe import Data.Maybe
import Dodge.Base.Coordinate import Dodge.Base.Coordinate
@@ -18,30 +19,31 @@ fixedCoordPictures :: Universe -> Picture
fixedCoordPictures u = fixedCoordPictures u =
drawMenuOrHUD cfig u drawMenuOrHUD cfig u
<> drawConcurrentMessage u <> drawConcurrentMessage u
<> customMouseCursor u <> drawMouseCursor u
<> toTopLeft cfig (translate (halfWidth cfig) 0 $ drawList (map text (_uvTestString u u))) <> toTopLeft cfig (translate (halfWidth cfig) 0 $ drawList (map text (_uvTestString u u)))
<> toTopLeft cfig <> toTopLeft
(translate (0.5 * halfWidth cfig) (- halfHeight cfig) cfig
$ drawList $ map text $ ( translate (0.5 * halfWidth cfig) (- halfHeight cfig) $
show (u ^. uvWorld . cWorld . lWorld . lTestInt) drawList $
: (u ^. uvWorld . cWorld . lWorld . lTestString) map text $
show (u ^. uvWorld . cWorld . lWorld . lTestInt) :
(u ^. uvWorld . cWorld . lWorld . lTestString)
) )
<> displayFrameTicks u <> displayFrameTicks u
<> aimDelaySweep (u ^. uvWorld)
where where
cfig = _uvConfig u cfig = _uvConfig u
displayFrameTicks :: Universe -> Picture displayFrameTicks :: Universe -> Picture
displayFrameTicks u = displayFrameTicks u
if debugOn Show_ms_frame $ _uvConfig u | debugOn Show_ms_frame $ _uvConfig u =
then translate (-10) (- halfHeight (_uvConfig u) + 6)
setDepth (-1)
. translate (-10) (- halfHeight (_uvConfig u) + 6)
. scale 0.2 0.2 . scale 0.2 0.2
$ fpsText (u ^. uvFrameTicks - u ^. uvLastFrameTicks) $ fpsText (u ^. uvFrameTicks - u ^. uvLastFrameTicks)
else mempty | otherwise = mempty
fpsText :: (Show a, Ord a, Num a) => a -> Picture fpsText :: (Show a, Ord a, Num a) => a -> Picture
fpsText x = color col $ text $ "ms/frame " ++ show x fpsText x = color col . text $ "ms/frame " ++ show x
where where
col col
| x < 22 = blue | x < 22 = blue
@@ -65,8 +67,8 @@ drawConcurrentMessage u =
f (RunningSideEffect ce) = ce ++ " IN PROGRESS" f (RunningSideEffect ce) = ce ++ " IN PROGRESS"
f x = _ceString x ++ " QUEUED" f x = _ceString x ++ " QUEUED"
customMouseCursor :: Universe -> Picture drawMouseCursor :: Universe -> Picture
customMouseCursor u = drawMouseCursor u =
uncurryV translate (u ^. uvWorld . input . mousePos) uncurryV translate (u ^. uvWorld . input . mousePos)
. color white . color white
$ mouseCursorType u $ mouseCursorType u
@@ -74,7 +76,7 @@ customMouseCursor u =
mouseCursorType :: Universe -> Picture mouseCursorType :: Universe -> Picture
mouseCursorType u mouseCursorType u
| null (u ^. uvScreenLayers) = rotate a (drawPlus 5) | null (u ^. uvScreenLayers) = rotate a (drawPlus 5)
| otherwise = mousePlus | otherwise = drawPlus 5
where where
w = u ^. uvWorld w = u ^. uvWorld
a = fromMaybe 0 $ do a = fromMaybe 0 $ do
@@ -83,8 +85,32 @@ mouseCursorType u
argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- cpos) argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- cpos)
- w ^. wCam . camRot - w ^. wCam . camRot
mousePlus :: Picture
mousePlus = fold [line [V2 (-5) 0, V2 5 0], line [V2 0 (-5), V2 0 5]]
drawPlus :: Float -> Picture drawPlus :: Float -> Picture
drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]] drawPlus x = fold [line [V2 (- x) 0, V2 x 0], line [V2 0 (- x), V2 0 x]]
aimDelaySweep :: World -> Picture
aimDelaySweep w = fromMaybe mempty $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
aimstatus <- cr ^? crStance . posture
guard (aimstatus == Aiming)
return $ drawSweep cr w
drawSweep :: Creature -> World -> Picture
drawSweep cr w = fromMaybe mempty $ do
a <- safeArgV (mwp -.- p)
let a'
| a - cdir > pi = cdir + 2 * pi
| a - cdir < - pi = cdir - 2 * pi
| otherwise = cdir
return $
setLayer FixedCoordLayer $
uncurryV translate (worldPosToScreen campos p) $
arcFull (a - rot) 10 white (a' - rot) 1 white (5 + dist mwp p * campos ^. camZoom) white
where
cdir = _crDir cr
rot = campos ^. camRot
p = _crPos cr
campos = w ^. wCam
theinput = w ^. input
mwp = mouseWorldPos theinput campos
-45
View File
@@ -2,11 +2,8 @@ module Dodge.Render.ShapePicture (
worldSPic, worldSPic,
) where ) where
import qualified Data.Map.Strict as M
import Control.Lens import Control.Lens
import Control.Monad (guard)
import Data.Foldable import Data.Foldable
import Data.Maybe
import Data.Strict.Tuple import Data.Strict.Tuple
import Dodge.Base import Dodge.Base
import Dodge.Creature.Picture import Dodge.Creature.Picture
@@ -20,7 +17,6 @@ import Geometry
import qualified IntMapHelp as IM import qualified IntMapHelp as IM
import NewInt import NewInt
import Picture import Picture
import qualified SDL
import Shape import Shape
import ShapePicture import ShapePicture
@@ -36,49 +32,12 @@ worldSPic cfig u =
<> foldup floorItemSPic (filtOn _flItPos (_unNIntMap . _floorItems)) <> foldup floorItemSPic (filtOn _flItPos (_unNIntMap . _floorItems))
<> foldup btSPic (filtOn _btPos _buttons) <> foldup btSPic (filtOn _btPos _buttons)
<> foldup mcSPic (filtOn _mcPos _machines) <> foldup mcSPic (filtOn _mcPos _machines)
<> aimDelaySweep w
<> drawMouseSelection w
where where
w = _uvWorld u w = _uvWorld u
foldup = foldMap' foldup = foldMap'
filtOn f g = IM.filter (pointIsClose . f) (g (_lWorld (_cWorld w))) filtOn f g = IM.filter (pointIsClose . f) (g (_lWorld (_cWorld w)))
pointIsClose = cullPoint cfig w pointIsClose = cullPoint cfig w
drawMouseSelection :: World -> SPic
drawMouseSelection w = fromMaybe mempty $ do
guard (SDL.ButtonLeft `M.member` (w ^. input . mouseButtons)
&& not (SDL.ButtonRight `M.member` (w ^. input . mouseButtons))
)
p <- w ^? input . clickPos . ix SDL.ButtonLeft
return $ noShape $ color (withAlpha 0.5 white)
$ setLayer FixedCoordLayer $ polygon $ reverse $ rectVV p (w ^. input . mousePos)
aimDelaySweep :: World -> SPic
aimDelaySweep w = fromMaybe mempty $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0
aimstatus <- cr ^? crStance . posture
guard (aimstatus == Aiming)
return $ noShape $ drawSweep cr w
drawSweep :: Creature -> World -> Picture
drawSweep cr w = fromMaybe mempty $ do
a <- safeArgV (mwp -.- p)
let a'
| a - cdir > pi = cdir + 2 * pi
| a - cdir < - pi = cdir - 2 * pi
| otherwise = cdir
return $
setLayer FixedCoordLayer $
uncurryV translate (worldPosToScreen campos p) $
arcFull (a - rot) 10 white (a' - rot) 1 white (5 + dist mwp p * campos ^. camZoom) white
where
cdir = _crDir cr
rot = campos ^. camRot
p = _crPos cr
campos = w ^. wCam
theinput = w ^. input
mwp = mouseWorldPos theinput campos
drawCreature :: Creature -> SPic drawCreature :: Creature -> SPic
drawCreature cr = case _crType cr of drawCreature cr = case _crType cr of
Humanoid{} -> basicCrPict cr Humanoid{} -> basicCrPict cr
@@ -138,7 +97,6 @@ extraPics cfig u =
<> foldMap drawBlip (_radarBlips lw) <> foldMap drawBlip (_radarBlips lw)
<> _flares lw <> _flares lw
<> foldMap (dbArg (drawLightSource . _lsPict)) (_lightSources lw) <> foldMap (dbArg (drawLightSource . _lsPict)) (_lightSources lw)
<> testPic cfig w
<> foldMap ppDraw (_pressPlates lw) <> foldMap ppDraw (_pressPlates lw)
<> viewClipBounds cfig w <> viewClipBounds cfig w
<> debugDraw cfig w <> debugDraw cfig w
@@ -156,9 +114,6 @@ extraPics cfig u =
w = u ^. uvWorld w = u ^. uvWorld
lw = w ^. cWorld . lWorld lw = w ^. cWorld . lWorld
testPic :: Configuration -> World -> Picture
testPic _ _ = mempty
ppDraw :: PressPlate -> Picture ppDraw :: PressPlate -> Picture
ppDraw c = uncurryV translate (_ppPos c) $ rotate (_ppRot c) (_ppPict c) ppDraw c = uncurryV translate (_ppPos c) $ rotate (_ppRot c) (_ppPict c)
+29 -31
View File
@@ -3325,7 +3325,7 @@ adjustIMZone src/Dodge/Base.hs 77;" f
advanceScrollAmount src/Dodge/Update.hs 397;" f advanceScrollAmount src/Dodge/Update.hs 397;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
aimDelaySweep src/Dodge/Render/ShapePicture.hs 56;" f aimDelaySweep src/Dodge/Render/Picture.hs 91;" f
aimStanceInfo src/Dodge/Item/Info.hs 210;" f aimStanceInfo src/Dodge/Item/Info.hs 210;" f
aimTurn src/Dodge/Creature/YourControl.hs 143;" f aimTurn src/Dodge/Creature/YourControl.hs 143;" f
aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f aimingMuzzleLength src/Dodge/Creature/HandPos.hs 46;" f
@@ -3348,7 +3348,7 @@ ammoMagSPic src/Dodge/Item/Draw/SPic.hs 45;" f
amr src/Dodge/Item/Held/Rod.hs 46;" f amr src/Dodge/Item/Held/Rod.hs 46;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f analyserByDoor src/Dodge/Room/LasTurret.hs 75;" f
andOrRegex src/Dodge/DisplayInventory.hs 82;" f andOrRegex src/Dodge/DisplayInventory.hs 68;" f
angleBetween src/Geometry.hs 145;" f angleBetween src/Geometry.hs 145;" f
angleVV src/Geometry/Vector.hs 57;" f angleVV src/Geometry/Vector.hs 57;" f
angleVV3 src/Geometry/Vector3D.hs 122;" f angleVV3 src/Geometry/Vector3D.hs 122;" f
@@ -3517,7 +3517,7 @@ branchRectWith src/Dodge/Room/Branch.hs 15;" f
branchWith src/Dodge/Room/Room.hs 69;" f branchWith src/Dodge/Room/Room.hs 69;" f
bright src/Color.hs 120;" f bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 172;" f btSPic src/Dodge/Render/ShapePicture.hs 131;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 36;" f bufferShaderLayers src/Shader/Bind.hs 36;" f
@@ -3752,11 +3752,10 @@ crystalDebris src/Dodge/Block/Debris.hs 176;" f
crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f crystalLine src/Dodge/Placement/Instance/Wall.hs 55;" f
crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" f crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" f
cubeShape src/Dodge/Block/Debris.hs 196;" f cubeShape src/Dodge/Block/Debris.hs 196;" f
cullPoint src/Dodge/Render/ShapePicture.hs 119;" f cullPoint src/Dodge/Render/ShapePicture.hs 78;" f
cullPretty src/AesonHelp.hs 13;" f cullPretty src/AesonHelp.hs 13;" f
curveAroundField src/Dodge/Magnet.hs 18;" f curveAroundField src/Dodge/Magnet.hs 18;" f
curveLeftField src/Dodge/Magnet.hs 13;" f curveLeftField src/Dodge/Magnet.hs 13;" f
customMouseCursor src/Dodge/Render/Picture.hs 68;" f
cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f
cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" f
cutWalls src/Dodge/LevelGen/StaticWalls.hs 33;" f cutWalls src/Dodge/LevelGen/StaticWalls.hs 33;" f
@@ -3956,7 +3955,7 @@ dirtWallDamage src/Dodge/Wall/DamageEffect.hs 103;" f
disconnectTerminal src/Dodge/Terminal.hs 215;" f disconnectTerminal src/Dodge/Terminal.hs 215;" f
displayConfig src/Dodge/Menu.hs 196;" f 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 37;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 169;" f displayFreeSlots src/Dodge/DisplayInventory.hs 169;" f
displayTerminal src/Dodge/Render/HUD.hs 317;" f displayTerminal src/Dodge/Render/HUD.hs 317;" f
displayTerminalLineString src/Dodge/Update.hs 426;" f displayTerminalLineString src/Dodge/Update.hs 426;" f
@@ -4070,10 +4069,10 @@ 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 126;" f drawCombineInventory src/Dodge/Render/HUD.hs 126;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 58;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 60;" 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
drawCreature src/Dodge/Render/ShapePicture.hs 82;" f drawCreature src/Dodge/Render/ShapePicture.hs 41;" 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
@@ -4111,10 +4110,10 @@ drawListYgapScaleYoff src/Dodge/Render/List.hs 77;" f
drawListYoff src/Dodge/Render/List.hs 74;" f drawListYoff src/Dodge/Render/List.hs 74;" 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 55;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 12;" f
drawMouseCursor src/Dodge/Render/Picture.hs 70;" f
drawMousePosition src/Dodge/Debug/Picture.hs 319;" f drawMousePosition src/Dodge/Debug/Picture.hs 319;" f
drawMouseSelection src/Dodge/Render/ShapePicture.hs 47;" f
drawMovingShape src/Dodge/Prop/Draw.hs 67;" f drawMovingShape src/Dodge/Prop/Draw.hs 67;" f
drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" f
drawMuzFlare src/Dodge/Flare.hs 17;" f drawMuzFlare src/Dodge/Flare.hs 17;" f
@@ -4122,7 +4121,7 @@ drawOptions src/Dodge/Render/MenuScreen.hs 32;" f
drawPathBetween src/Dodge/Debug/Picture.hs 168;" f drawPathBetween src/Dodge/Debug/Picture.hs 168;" f
drawPathEdge src/Dodge/Debug/Picture.hs 222;" f drawPathEdge src/Dodge/Debug/Picture.hs 222;" f
drawPathing src/Dodge/Debug/Picture.hs 384;" f drawPathing src/Dodge/Debug/Picture.hs 384;" f
drawPlus src/Dodge/Render/Picture.hs 89;" f drawPlus src/Dodge/Render/Picture.hs 88;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f 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
@@ -4142,7 +4141,7 @@ 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 118;" f drawSubInventory src/Dodge/Render/HUD.hs 118;" f
drawSweep src/Dodge/Render/ShapePicture.hs 63;" f drawSweep src/Dodge/Render/Picture.hs 98;" 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
drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f drawTargetLaser src/Dodge/Particle/Draw.hs 6;" f
@@ -4226,7 +4225,7 @@ explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" f extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" f
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
extraPics src/Dodge/Render/ShapePicture.hs 124;" f extraPics src/Dodge/Render/ShapePicture.hs 83;" f
extractRoomPos src/Dodge/RoomPos.hs 6;" f extractRoomPos src/Dodge/RoomPos.hs 6;" f
faceEdges src/Polyhedra.hs 65;" f faceEdges src/Polyhedra.hs 65;" f
facesToVF src/Polyhedra/Geodesic.hs 69;" f facesToVF src/Polyhedra/Geodesic.hs 69;" f
@@ -4239,7 +4238,7 @@ fdiv src/ShortShow.hs 27;" f
feet src/Dodge/Creature/Picture.hs 51;" f feet src/Dodge/Creature/Picture.hs 51;" f
ffoldM src/Framebuffer/Update.hs 79;" f ffoldM src/Framebuffer/Update.hs 79;" f
filter3 src/FoldableHelp.hs 76;" f filter3 src/FoldableHelp.hs 76;" f
filterSectionsPair src/Dodge/DisplayInventory.hs 145;" f filterSectionsPair src/Dodge/DisplayInventory.hs 136;" f
findBlips src/Dodge/RadarSweep.hs 44;" f findBlips src/Dodge/RadarSweep.hs 44;" f
findBoundDists src/Dodge/Update/Camera.hs 235;" f findBoundDists src/Dodge/Update/Camera.hs 235;" f
findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f findClosePoint src/Dodge/LevelGen/StaticWalls.hs 155;" f
@@ -4255,7 +4254,7 @@ fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f
fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
firstBreather src/Dodge/Room/Breather.hs 9;" f firstBreather src/Dodge/Room/Breather.hs 9;" f
firstWorldLoad appDodge/Main.hs 78;" f firstWorldLoad appDodge/Main.hs 78;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f fixedCoordPictures src/Dodge/Render/Picture.hs 18;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flDamageInArea src/Dodge/Flame.hs 110;" f flDamageInArea src/Dodge/Flame.hs 110;" f
flFlicker src/Dodge/Flame.hs 124;" f flFlicker src/Dodge/Flame.hs 124;" f
@@ -4287,7 +4286,7 @@ 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 175;" f floorItemPickupInfo src/Dodge/Render/HUD.hs 175;" f
floorItemSPic src/Dodge/Render/ShapePicture.hs 165;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 124;" 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
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 394;" f
@@ -4306,7 +4305,7 @@ forceField src/Dodge/Wall/ForceField.hs 7;" f
forceFoldable src/StrictHelp.hs 7;" f forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 43;" f fpsText src/Dodge/Render/Picture.hs 45;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 58;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 58;" f
frag src/Shader/Data.hs 102;" f frag src/Shader/Data.hs 102;" f
freeShaderPointers' src/Shader.hs 37;" f freeShaderPointers' src/Shader.hs 37;" f
@@ -4664,7 +4663,7 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 77;" f
lamp src/Dodge/Creature/Lamp.hs 22;" f lamp src/Dodge/Creature/Lamp.hs 22;" f
lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" f
lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 98;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 57;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f
lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 351;" f lasGunPic src/Dodge/Item/Draw/SPic.hs 351;" f
@@ -4867,7 +4866,7 @@ mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
mcPlaySound src/Dodge/Machine/Update.hs 80;" f mcPlaySound src/Dodge/Machine/Update.hs 80;" f
mcProxTest src/Dodge/Machine/Update.hs 126;" f mcProxTest src/Dodge/Machine/Update.hs 126;" f
mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f
mcSPic src/Dodge/Render/ShapePicture.hs 177;" f mcSPic src/Dodge/Render/ShapePicture.hs 136;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f
mcShootLaser src/Dodge/HeldUse.hs 465;" f mcShootLaser src/Dodge/HeldUse.hs 465;" f
@@ -4943,9 +4942,8 @@ mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f
modTo src/Geometry/Zone.hs 10;" f modTo src/Geometry/Zone.hs 10;" f
mouseActionsCr src/Dodge/Creature/YourControl.hs 153;" f mouseActionsCr src/Dodge/Creature/YourControl.hs 153;" f
mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 58;" f
mouseCursorType src/Dodge/Render/Picture.hs 74;" f mouseCursorType src/Dodge/Render/Picture.hs 76;" f
mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f
mousePlus src/Dodge/Render/Picture.hs 86;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f
moveBullet src/Dodge/Bullet.hs 193;" f moveBullet src/Dodge/Bullet.hs 193;" f
moveCombineSel src/Dodge/Update/Scroll.hs 59;" f moveCombineSel src/Dodge/Update/Scroll.hs 59;" f
@@ -5039,7 +5037,7 @@ optionScreenUpdate src/Dodge/Update/Input/ScreenLayer.hs 39;" f
optionValueOffset src/Dodge/Menu/Option.hs 106;" f optionValueOffset src/Dodge/Menu/Option.hs 106;" f
optionsOptions src/Dodge/Menu.hs 108;" f optionsOptions src/Dodge/Menu.hs 108;" f
optionsToSelections src/Dodge/Menu/Option.hs 59;" f optionsToSelections src/Dodge/Menu/Option.hs 59;" f
orRegex src/Dodge/DisplayInventory.hs 85;" f orRegex src/Dodge/DisplayInventory.hs 71;" f
orange src/Color.hs 25;" f orange src/Color.hs 25;" f
orderAround3 src/Geometry/Vector3D.hs 105;" f orderAround3 src/Geometry/Vector3D.hs 105;" f
orderAroundFirst src/Geometry/Polygon.hs 82;" f orderAroundFirst src/Geometry/Polygon.hs 82;" f
@@ -5106,7 +5104,7 @@ pesNearCirc src/Dodge/Zoning/Pathing.hs 43;" f
pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f
pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f pesNearRect src/Dodge/Zoning/Pathing.hs 40;" f
pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f pesNearSeg src/Dodge/Zoning/Pathing.hs 37;" f
picAtCrPos1 src/Dodge/Render/ShapePicture.hs 103;" f picAtCrPos1 src/Dodge/Render/ShapePicture.hs 62;" f
picFormat src/Polyhedra.hs 23;" f picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f picMap src/Picture/Base.hs 67;" f
pickUpItem src/Dodge/Inventory/Add.hs 89;" f pickUpItem src/Dodge/Inventory/Add.hs 89;" f
@@ -5243,7 +5241,7 @@ powlist src/Multiset.hs 61;" f
powlistUpToN src/Multiset.hs 23;" f powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 162;" f ppDraw src/Dodge/Render/ShapePicture.hs 121;" f
ppEvents src/Dodge/Update.hs 661;" f ppEvents src/Dodge/Update.hs 661;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f preCritStart src/Dodge/Room/Start.hs 82;" f
@@ -5370,7 +5368,7 @@ reflectInParam src/Geometry.hs 233;" f
reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f
refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 34;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 34;" f
regexCombs src/Dodge/DisplayInventory.hs 72;" f regexCombs src/Dodge/DisplayInventory.hs 58;" f
regexIn src/Regex.hs 4;" f regexIn src/Regex.hs 4;" f
regexList src/Dodge/DisplayInventory.hs 313;" f regexList src/Dodge/DisplayInventory.hs 313;" f
regexList src/Regex.hs 7;" f regexList src/Regex.hs 7;" f
@@ -5637,8 +5635,8 @@ shieldWall src/Dodge/Euse.hs 114;" f
shiftByV2 src/Dodge/PlacementSpot.hs 239;" f shiftByV2 src/Dodge/PlacementSpot.hs 239;" f
shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftChildren src/Dodge/Tree/Compose.hs 43;" f
shiftDec src/Dodge/Placement/PlaceSpot.hs 151;" f shiftDec src/Dodge/Placement/PlaceSpot.hs 151;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 107;" f shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f
shiftDraw' src/Dodge/Render/ShapePicture.hs 113;" f shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f
shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f
shiftInvItems src/Dodge/Update.hs 351;" f shiftInvItems src/Dodge/Update.hs 351;" f
shiftInvItemsDown src/Dodge/Update.hs 372;" f shiftInvItemsDown src/Dodge/Update.hs 372;" f
@@ -5877,7 +5875,7 @@ teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f
testEvent src/Dodge/Event/Test.hs 10;" f testEvent src/Dodge/Event/Test.hs 10;" f
testInventory src/Dodge/Creature.hs 258;" f testInventory src/Dodge/Creature.hs 258;" f
testPic src/Dodge/Render/ShapePicture.hs 159;" f testPic src/Dodge/Render/ShapePicture.hs 118;" f
testStringInit src/Dodge/TestString.hs 23;" f testStringInit src/Dodge/TestString.hs 23;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
@@ -6068,7 +6066,7 @@ updateCreatureGroups src/Dodge/Update.hs 496;" f
updateCreatureSoundPositions src/Dodge/Update.hs 472;" f updateCreatureSoundPositions src/Dodge/Update.hs 472;" f
updateDebugMessageOffset src/Dodge/Update.hs 89;" f updateDebugMessageOffset src/Dodge/Update.hs 89;" f
updateDelayedEvents src/Dodge/Update.hs 775;" f updateDelayedEvents src/Dodge/Update.hs 775;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 95;" f updateDisplaySections src/Dodge/DisplayInventory.hs 81;" f
updateDistortion src/Dodge/Distortion.hs 5;" f updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 517;" f updateDistortions src/Dodge/Update.hs 517;" f
updateEnergyBall src/Dodge/EnergyBall.hs 46;" f updateEnergyBall src/Dodge/EnergyBall.hs 46;" f
@@ -6090,7 +6088,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 70;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 139;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 139;" f
updateInstantBullets src/Dodge/Update.hs 633;" f updateInstantBullets src/Dodge/Update.hs 633;" f
updateInv src/Dodge/Creature/State.hs 152;" f updateInv src/Dodge/Creature/State.hs 152;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 90;" f updateInventoryPositioning src/Dodge/DisplayInventory.hs 76;" f
updateItemTargeting src/Dodge/Creature/State.hs 268;" f updateItemTargeting src/Dodge/Creature/State.hs 268;" f
updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f updateItemWithOrientation src/Dodge/Creature/State.hs 194;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 133;" f updateKeyInGame src/Dodge/Update/Input/InGame.hs 133;" f
@@ -6288,7 +6286,7 @@ wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f wlsNearSeg src/Dodge/Zoning/Wall.hs 42;" f
wordsBy src/ListHelp.hs 116;" f wordsBy src/ListHelp.hs 116;" f
worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f worldPosToScreen src/Dodge/Base/Coordinate.hs 28;" f
worldSPic src/Dodge/Render/ShapePicture.hs 27;" f worldSPic src/Dodge/Render/ShapePicture.hs 23;" f
worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f
wpAdd src/Dodge/Room/RezBox.hs 137;" f wpAdd src/Dodge/Room/RezBox.hs 137;" f
wristArmour src/Dodge/Item/Equipment.hs 47;" f wristArmour src/Dodge/Item/Equipment.hs 47;" f