diff --git a/ghcidOutput b/ghcidOutput index 950e6d680..4bfbb6f3a 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1 +1 @@ -All good (595 modules, at 00:00:33) +All good (595 modules, at 09:13:37) diff --git a/src/Dodge/DisplayInventory.hs b/src/Dodge/DisplayInventory.hs index c236bac41..c51defccb 100644 --- a/src/Dodge/DisplayInventory.hs +++ b/src/Dodge/DisplayInventory.hs @@ -47,31 +47,13 @@ updateCombineSections w cfig = (getAvailableListLines secondColumnParams cfig) [(0, sclose), (-1, sfclose)] where - (sfclose,sclose) = filterSectionsPair (flip (andOrRegex $ regexCombs invitms)) - allcombs "COMBINATIONS" $ mstr + (sfclose, sclose) = + 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 - 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 inv ci str = case str of @@ -113,21 +95,20 @@ updateDisplaySections w cfig = Just (0, _) -> reverse [filtinv, filtclose, invx, youx, closex] Just (1, _) -> reverse [filtinv, filtclose, invx, youx, closex] Just (2, _) -> reverse [filtinv, filtclose, closex, invx, youx] - _ -> reverse [filtinv, filtclose, closex, invx, youx] - (sfinv,sinv) = filterSectionsPair plainRegex invitems "INVTORY" $ + Just (3, _) -> reverse [filtinv, filtclose, closex, invx, youx] + _ -> reverse [filtinv, filtclose, invx, closex, youx] + (sfinv, sinv) = + filterSectionsPair plainRegex invitems "INVENTORY" $ w ^? hud . hudElement . diInvFilter . _Just - (filtinv, invx) = ((-1,sfinv),(0,sinv)) --- filtpair (-1) invitems "INV. " $ --- w ^? hud . hudElement . diInvFilter . _Just - (sfclose,sclose) = filterSectionsPair plainRegex coitems "NEARBY" $ + (filtinv, invx) = ((-1, sfinv), (0, sinv)) + (sfclose, sclose) = + filterSectionsPair plainRegex closeitms "NEARBY" $ w ^? hud . hudElement . diCloseFilter . _Just - (filtclose, closex) = ((2,sfclose),(3,sclose)) --- filtpair 2 coitems "NEARBY " $ --- w ^? hud . hudElement . diCloseFilter . _Just + (filtclose, closex) = ((2, sfclose), (3, sclose)) youx = (1, youitems) youitems = IM.singleton 0 $ SelectionItem [thetext] 1 True invDimColor 2 () - thetext = displayFreeSlots nfreeslots - coitems = + thetext = displayFreeSlots (crNumFreeSlots cr) + closeitms = IM.fromDistinctAscList . zip [0 ..] $ map closeObjectToSelectionItem (w ^. hud . closeObjects) invitems = @@ -135,7 +116,7 @@ updateDisplaySections w cfig = (\k (y, x) -> invSelectionItem y cr k (x ^. locLDT . ldtValue)) (allInvLocs $ _crInv cr) cr = you w - nfreeslots = crNumFreeSlots cr + -- filtpair i itms filtdescription mstr = -- ( (i, filtsis) -- , (i + 1, itms') diff --git a/src/Dodge/Render/Picture.hs b/src/Dodge/Render/Picture.hs index ff3f7b425..58b997fab 100644 --- a/src/Dodge/Render/Picture.hs +++ b/src/Dodge/Render/Picture.hs @@ -2,6 +2,7 @@ module Dodge.Render.Picture ( fixedCoordPictures, ) where +import Control.Monad import Control.Lens import Data.Maybe import Dodge.Base.Coordinate @@ -18,30 +19,31 @@ fixedCoordPictures :: Universe -> Picture fixedCoordPictures u = drawMenuOrHUD cfig u <> drawConcurrentMessage u - <> customMouseCursor u + <> drawMouseCursor u <> toTopLeft cfig (translate (halfWidth cfig) 0 $ drawList (map text (_uvTestString u u))) - <> toTopLeft cfig - (translate (0.5 * halfWidth cfig) (- halfHeight cfig) - $ drawList $ map text $ - show (u ^. uvWorld . cWorld . lWorld . lTestInt) - : (u ^. uvWorld . cWorld . lWorld . lTestString) + <> toTopLeft + cfig + ( translate (0.5 * halfWidth cfig) (- halfHeight cfig) $ + drawList $ + map text $ + show (u ^. uvWorld . cWorld . lWorld . lTestInt) : + (u ^. uvWorld . cWorld . lWorld . lTestString) ) <> displayFrameTicks u + <> aimDelaySweep (u ^. uvWorld) where cfig = _uvConfig u displayFrameTicks :: Universe -> Picture -displayFrameTicks u = - if debugOn Show_ms_frame $ _uvConfig u - then - setDepth (-1) - . translate (-10) (- halfHeight (_uvConfig u) + 6) - . scale 0.2 0.2 - $ fpsText (u ^. uvFrameTicks - u ^. uvLastFrameTicks) - else mempty +displayFrameTicks u + | debugOn Show_ms_frame $ _uvConfig u = + translate (-10) (- halfHeight (_uvConfig u) + 6) + . scale 0.2 0.2 + $ fpsText (u ^. uvFrameTicks - u ^. uvLastFrameTicks) + | otherwise = mempty 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 col | x < 22 = blue @@ -58,15 +60,15 @@ drawMenuOrHUD cfig u = case u ^. uvScreenLayers of drawConcurrentMessage :: Universe -> Picture drawConcurrentMessage u = translate 0 (50 - halfHeight cfig) $ - stackPicturesAt - (map (centerText . f) $ u ^.. uvSideEffects . each) + stackPicturesAt + (map (centerText . f) $ u ^.. uvSideEffects . each) where cfig = _uvConfig u f (RunningSideEffect ce) = ce ++ " IN PROGRESS" f x = _ceString x ++ " QUEUED" -customMouseCursor :: Universe -> Picture -customMouseCursor u = +drawMouseCursor :: Universe -> Picture +drawMouseCursor u = uncurryV translate (u ^. uvWorld . input . mousePos) . color white $ mouseCursorType u @@ -74,7 +76,7 @@ customMouseCursor u = mouseCursorType :: Universe -> Picture mouseCursorType u | null (u ^. uvScreenLayers) = rotate a (drawPlus 5) - | otherwise = mousePlus + | otherwise = drawPlus 5 where w = u ^. uvWorld a = fromMaybe 0 $ do @@ -83,8 +85,32 @@ mouseCursorType u argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- cpos) - 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 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 + diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index be0f7e44e..ec76ce6ba 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -2,11 +2,8 @@ module Dodge.Render.ShapePicture ( worldSPic, ) where -import qualified Data.Map.Strict as M import Control.Lens -import Control.Monad (guard) import Data.Foldable -import Data.Maybe import Data.Strict.Tuple import Dodge.Base import Dodge.Creature.Picture @@ -20,7 +17,6 @@ import Geometry import qualified IntMapHelp as IM import NewInt import Picture -import qualified SDL import Shape import ShapePicture @@ -36,49 +32,12 @@ worldSPic cfig u = <> foldup floorItemSPic (filtOn _flItPos (_unNIntMap . _floorItems)) <> foldup btSPic (filtOn _btPos _buttons) <> foldup mcSPic (filtOn _mcPos _machines) - <> aimDelaySweep w - <> drawMouseSelection w where w = _uvWorld u foldup = foldMap' filtOn f g = IM.filter (pointIsClose . f) (g (_lWorld (_cWorld 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 cr = case _crType cr of Humanoid{} -> basicCrPict cr @@ -138,7 +97,6 @@ extraPics cfig u = <> foldMap drawBlip (_radarBlips lw) <> _flares lw <> foldMap (dbArg (drawLightSource . _lsPict)) (_lightSources lw) - <> testPic cfig w <> foldMap ppDraw (_pressPlates lw) <> viewClipBounds cfig w <> debugDraw cfig w @@ -156,9 +114,6 @@ extraPics cfig u = w = u ^. uvWorld lw = w ^. cWorld . lWorld -testPic :: Configuration -> World -> Picture -testPic _ _ = mempty - ppDraw :: PressPlate -> Picture ppDraw c = uncurryV translate (_ppPos c) $ rotate (_ppRot c) (_ppPict c) diff --git a/tags b/tags index 1ec7cd93b..d871092b5 100644 --- a/tags +++ b/tags @@ -3325,7 +3325,7 @@ adjustIMZone src/Dodge/Base.hs 77;" f advanceScrollAmount src/Dodge/Update.hs 397;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" 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 aimTurn src/Dodge/Creature/YourControl.hs 143;" 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 analyser src/Dodge/Placement/Instance/Analyser.hs 12;" 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 angleVV src/Geometry/Vector.hs 57;" 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 bright src/Color.hs 120;" 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 bufferPokedVBO src/Shader/Bind.hs 19;" 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 crystalWallDamage src/Dodge/Wall/DamageEffect.hs 79;" 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 curveAroundField src/Dodge/Magnet.hs 18;" f curveLeftField src/Dodge/Magnet.hs 13;" f -customMouseCursor src/Dodge/Render/Picture.hs 68;" f cutPoly src/Dodge/LevelGen/StaticWalls.hs 77;" f cutWall src/Dodge/LevelGen/StaticWalls.hs 124;" 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 displayConfig src/Dodge/Menu.hs 196;" 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 displayTerminal src/Dodge/Render/HUD.hs 317;" 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 drawCollisionTest src/Dodge/Debug/Picture.hs 103;" 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 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 drawCross src/Dodge/Render/Label.hs 24;" 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 drawMachine src/Dodge/Machine/Draw.hs 14;" 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 +drawMouseCursor src/Dodge/Render/Picture.hs 70;" 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 drawMovingShapeCol src/Dodge/Prop/Draw.hs 73;" 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 drawPathEdge src/Dodge/Debug/Picture.hs 222;" 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 drawProjectile src/Dodge/Projectile/Draw.hs 13;" 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 drawStaticBall src/Dodge/EnergyBall/Draw.hs 14;" 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 drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" 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 extendAway src/Dodge/Placement/Instance/LightSource.hs 196;" 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 faceEdges src/Polyhedra.hs 65;" 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 ffoldM src/Framebuffer/Update.hs 79;" 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 findBoundDists src/Dodge/Update/Camera.hs 235;" 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 firstBreather src/Dodge/Room/Breather.hs 9;" 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 flDamageInArea src/Dodge/Flame.hs 110;" 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 227;" 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 foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 398;" 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 forceSpine src/StrictHelp.hs 4;" 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 frag src/Shader/Data.hs 102;" 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 lampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 8;" 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 lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" 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 mcProxTest src/Dodge/Machine/Update.hs 126;" 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 mcSensorUpdate src/Dodge/Machine/Update.hs 99;" 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 mouseActionsCr src/Dodge/Creature/YourControl.hs 153;" 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 -mousePlus src/Dodge/Render/Picture.hs 86;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f moveBullet src/Dodge/Bullet.hs 193;" 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 optionsOptions src/Dodge/Menu.hs 108;" 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 orderAround3 src/Geometry/Vector3D.hs 105;" 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 pesNearRect src/Dodge/Zoning/Pathing.hs 40;" 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 picMap src/Picture/Base.hs 67;" 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 12;" 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 ppLevelReset src/Dodge/PressPlate.hs 13;" 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 refract src/Dodge/Item/Weapon/LaserPath.hs 40;" 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 regexList src/Dodge/DisplayInventory.hs 313;" 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 shiftChildren src/Dodge/Tree/Compose.hs 43;" f shiftDec src/Dodge/Placement/PlaceSpot.hs 151;" f -shiftDraw src/Dodge/Render/ShapePicture.hs 107;" f -shiftDraw' src/Dodge/Render/ShapePicture.hs 113;" f +shiftDraw src/Dodge/Render/ShapePicture.hs 66;" f +shiftDraw' src/Dodge/Render/ShapePicture.hs 72;" f shiftInBy src/Dodge/PlacementSpot.hs 236;" f shiftInvItems src/Dodge/Update.hs 351;" 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 testEvent src/Dodge/Event/Test.hs 10;" 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 text src/Picture/Base.hs 193;" 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 updateDebugMessageOffset src/Dodge/Update.hs 89;" 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 updateDistortions src/Dodge/Update.hs 517;" 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 updateInstantBullets src/Dodge/Update.hs 633;" 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 updateItemWithOrientation src/Dodge/Creature/State.hs 194;" 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 wordsBy src/ListHelp.hs 116;" 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 wpAdd src/Dodge/Room/RezBox.hs 137;" f wristArmour src/Dodge/Item/Equipment.hs 47;" f