Commit before working on debugging

This commit is contained in:
2025-10-13 23:43:29 +01:00
parent c3a0cb0527
commit 3d602b4f57
7 changed files with 144 additions and 102 deletions
+2 -1
View File
@@ -81,7 +81,8 @@ doCrWdAc cw = case cw of
CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do
n <- walkableNodeNear w (cr ^. crPos . _xy)
let as = take 20 $ map PathTo $ bfsNodePoints n w
return $
return $ DoActionThen (DoImpulses [ChangeStrategy Search])
$
DoReplicate t $
foldr DoActionThen NoAction as
ChooseMovementSpreadGun -> chooseMovementSpreadGun
+1
View File
@@ -190,6 +190,7 @@ data Strategy
| Reload
| Flee
| MeleeStrike
| Search
deriving (Eq, Ord, Show) --Generic, Flat)
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
+78 -1
View File
@@ -1,6 +1,14 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Debug (debugEvents) where
import Padding
import Dodge.Base.Window
import ShortShow
import Linear
import Dodge.Render.InfoBox
import Picture.Base
import Geometry.Data
import qualified Data.IntMap.Strict as IM
import Data.Aeson.Types
import AesonHelp
import Control.Lens
@@ -15,7 +23,7 @@ import Dodge.WorldEvent.ThingsHit
import Geometry.Vector
import qualified SDL
import Data.Ord
import Data.Foldable (fold)
--import Data.Foldable (fold)
debugEvents :: Universe -> Universe
debugEvents u = case dbools ^. at Enable_debug of
@@ -62,6 +70,75 @@ debugItem = \case
constDPic :: (Universe -> Picture) -> Universe -> Maybe DebugItem
constDPic p u = Just $ DebugItem (p u) mempty NoDebugInfo
drawCrInfo' :: Universe -> Maybe DebugItem
drawCrInfo' u = do
undefined
--
-- setLayer FixedCoordLayer $
-- renderInfoListsAt (2 * hw - 400) 0 cfig cam $
-- mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
-- where
-- w = u ^. uvWorld
-- cfig = u ^. uvConfig
-- cam = w ^. wCam
-- crDisplayInfo :: Creature -> Maybe (Point2, [String])
-- crDisplayInfo cr
-- | _crID cr == 0 = Nothing
-- | crOnScreen =
-- Just
-- ( cr ^. crPos . _xy
-- , catMaybes
-- -- [fmap show $ ap ^? crGoal
-- [ fpreShow "crHP" $ cr ^? crHP . _HP
-- , fpreShow "crStrategy" $ ap ^? apStrategy
-- , fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
-- , fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
-- , fpreShow "crAction" $ ap ^? apAction
-- , fpreShow "crImpulse" $ ap ^? apImpulse
-- ]
-- )
-- | otherwise = Nothing
-- where
-- ap = _crActionPlan cr
-- crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
--
-- fpreShow :: (Show a, Functor f) => String -> f a -> f String
-- fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
-- hw = halfWidth cfig
drawCrInfo :: Config -> World -> Picture
drawCrInfo cfig w =
setLayer FixedCoordLayer $
renderInfoListsAt (2 * hw - 400) 0 cfig cam $
mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
where
cam = w ^. wCam
crDisplayInfo :: Creature -> Maybe (Point2, [String])
crDisplayInfo cr
| _crID cr == 0 = Nothing
| crOnScreen =
Just
( cr ^. crPos . _xy
, catMaybes
-- [fmap show $ ap ^? crGoal
[ fpreShow "crHP" $ cr ^? crHP . _HP
, fpreShow "crStrategy" $ ap ^? apStrategy
, fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
, fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
, fpreShow "crAction" $ ap ^? apAction
, fpreShow "crImpulse" $ ap ^? apImpulse
]
)
| otherwise = Nothing
where
ap = _crActionPlan cr
crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
fpreShow :: (Show a, Functor f) => String -> f a -> f String
fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
hw = halfWidth cfig
selectCreatureDebugItem :: Universe -> DebugItem
selectCreatureDebugItem u =
DebugItem
+3 -44
View File
@@ -14,7 +14,7 @@ import Dodge.GameRoom
import Dodge.Graph
import Dodge.Path
import Dodge.Picture.SizeInvariant
import Dodge.Render.InfoBox
--import Dodge.Render.InfoBox
import Dodge.Render.Label
import Dodge.Render.List
import Dodge.ShortShow
@@ -26,10 +26,10 @@ import Dodge.Zoning.Base
import Geometry
import Geometry.ConvexPoly
import qualified IntMapHelp as IM
import Padding
--import Padding
import Picture
import SDL (MouseButton (..))
import ShortShow
--import ShortShow
import Sound.Data
printPoint :: Point2 -> Picture
@@ -394,47 +394,6 @@ drawWlIDs w = setLayer FixedCoordLayer $ foldMap f (w ^. cWorld . lWorld . walls
where
p = worldPosToScreen (w ^. wCam) $ 0.5 *.* uncurry (+.+) (_wlLine wl)
drawCrInfo :: Config -> World -> Picture
drawCrInfo cfig w =
setLayer FixedCoordLayer $
renderInfoListsAt (2 * hw - 400) 0 cfig cam $
mapMaybe crDisplayInfo $ IM.elems $ w ^. cWorld . lWorld . creatures
where
cam = w ^. wCam
-- drawPathing :: Config -> World -> Picture
-- drawPathing cfig w =
-- setLayer DebugLayer $
-- foldMap (edgeToPic (screenPolygon cfig (w ^. wCam)) . (^?! _3)) (FGL.labEdges gr)
-- <> foldMap dispInc (graphToIncidence gr)
-- where
-- dispInc (p, n) = setDepth 2 . uncurryV translate p . scale 0.1 0.1 $ text $ show n
-- gr = w ^. cWorld . pathGraph
crDisplayInfo :: Creature -> Maybe (Point2, [String])
crDisplayInfo cr
| _crID cr == 0 = Nothing
| crOnScreen =
Just
( cr ^. crPos . _xy
, catMaybes
-- [fmap show $ ap ^? crGoal
[ fpreShow "crHP" $ cr ^? crHP . _HP
, fpreShow "crStrategy" $ ap ^? apStrategy
, fmap (("crPos....." ++) . shortShow) $ cr ^? crPos . _xy
, fpreShow "cpVigilance" $ cr ^? crPerception . cpVigilance
, -- , fmap show $ cr ^? crOldPos
fpreShow "crAction" $ ap ^? apAction
, fpreShow "crImpulse" $ ap ^? apImpulse
]
)
| otherwise = Nothing
where
ap = _crActionPlan cr
crOnScreen = pointIsOnScreen cfig cam $ cr ^. crPos . _xy
fpreShow :: (Show a, Functor f) => String -> f a -> f String
fpreShow str = fmap (((rightPad 7 '.' str ++ "...") ++) . show)
hw = halfWidth cfig
drawPathing :: Config -> World -> Picture
drawPathing cfig w =
+7 -6
View File
@@ -48,15 +48,14 @@ generateLevelFromRoomList gr' w =
& pnZoning .~ foldl' (flip zonePn) mempty (labNodes path)
& peZoning .~ foldl' (flip zonePe) mempty (map fromEdgeTuple $ labEdges path)
where
(_, path) = pairsToGraph pairPath'
pairPath = foldMap _rmPath rs
pairPath' = snapToGrid pairPath
(_, path) = pairsToGraph . snapToGrid $ foldMap _rmPath rs
rs = map doRoomShift $ IM.elems rs'
rs' = mapM shuffleRoomPos gr' & evalState $ _randGen w
randomCompass :: World -> World
randomCompass w = w & wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
randomCompass w = w
& wCam . camRot .~ (takeOne [0, 0.5 * pi, pi, 1.5 * pi] & evalState $ _randGen w)
-- note the order of traversal of the rooms is important
-- hence the reverse
@@ -67,12 +66,14 @@ setTiles gw = foldr setTile gw . reverse . IM.elems $ _genRooms gw
setTile :: Room -> GenWorld -> GenWorld
setTile r gw = case _rmFloor r of
Tiled{} -> gw
InheritFloor -> gw & genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly]
InheritFloor -> gw
& genRooms . ix (fromJust (_rmMID r)) . rmFloor .~ Tiled [t & tilePoly .~ poly]
where
t = case _rmMParent r of
Nothing -> Tile poly (V2 0 0) (V2 1 0) 16
Just pid -> head $ _tiles $ _rmFloor $ _genRooms gw IM.! pid
poly = orderPolygon . convexHullSafe . nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r
poly = orderPolygon . convexHullSafe
. nubBy ((==) `on` roundPoint2) $ concat $ _rmPolys r
shuffleRoomPos :: RandomGen g => Room -> State g Room
shuffleRoomPos rm = do
+8 -6
View File
@@ -30,13 +30,15 @@ import Data.Bifunctor
getNodePos :: Int -> World -> Maybe Point2
getNodePos i w = (w ^. cWorld . pathGraph) `lab` i
makePathUsing :: (PathEdge -> Bool) -> Point2 -> Point2 -> World -> Maybe [Int]
makePathUsing t s e w = do
na <- walkableNodeNear w s
nb <- walkableNodeNear w e
sp na nb . second _peDist
. efilter (t . (^. _3)) $ w ^. cWorld . pathGraph
makePathBetween :: Point2 -> Point2 -> World -> Maybe [Int]
makePathBetween a b w = do
-- join $ sp <$> a' <*> b' <*> return (_pathGraph w)
na <- walkableNodeNear w a
nb <- walkableNodeNear w b
sp na nb (second _peDist (efilter (not . pathEdgeObstructed . (^. _3)) $ w ^. cWorld . pathGraph))
--_pathGraph (_cWorld w)))
makePathBetween = makePathUsing $ not . pathEdgeObstructed
pathEdgeObstructed :: PathEdge -> Bool
pathEdgeObstructed pe = DoorObstacle `Set.member` obs || BlockObstacle `Set.member` obs
+45 -44
View File
@@ -12,7 +12,7 @@
.++~ src/LensHelp.hs 33;" o
.+.+~ src/LensHelp.hs 23;" o
.:~ src/LensHelp.hs 14;" o
<$> src/Dodge/Data/ActionPlan.hs 203;" o
<$> src/Dodge/Data/ActionPlan.hs 204;" o
<$> src/Dodge/Data/CWorld.hs 47;" o
<$> src/Dodge/Data/Camera.hs 39;" o
<$> src/Dodge/Data/Creature.hs 89;" o
@@ -514,7 +514,7 @@ GetToPoint src/Dodge/Data/Scenario.hs 12;" C
Gib src/Dodge/Data/Prop.hs 43;" C
Glass src/Dodge/Data/Material.hs 11;" C
GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C
Goal src/Dodge/Data/ActionPlan.hs 196;" t
Goal src/Dodge/Data/ActionPlan.hs 197;" t
GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C
GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C
GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C
@@ -643,7 +643,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C
Just' src/MaybeHelp.hs 13;" C
JustStartedPlaying src/Sound/Data.hs 24;" C
KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C
Kill src/Dodge/Data/ActionPlan.hs 198;" C
Kill src/Dodge/Data/ActionPlan.hs 199;" C
LASER src/Dodge/Data/Item/Combine.hs 36;" C
LDT src/Dodge/Data/DoubleTree.hs 34;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C
@@ -695,7 +695,7 @@ LimitedFood src/Dodge/Data/Scenario.hs 39;" C
LimitedWater src/Dodge/Data/Scenario.hs 40;" C
LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t
LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 197;" C
LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 198;" C
LivingComplex src/Dodge/Data/Scenario.hs 68;" C
LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C
LoadingScreen src/Dodge/Data/Universe.hs 73;" C
@@ -1189,6 +1189,7 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 12;" C
Scope src/Dodge/Data/Item/Scope.hs 13;" t
ScreenLayer src/Dodge/Data/Universe.hs 81;" t
ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t
Search src/Dodge/Data/ActionPlan.hs 193;" C
SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 23;" t
SeeAbove src/Dodge/Data/Wall.hs 42;" C
@@ -1208,7 +1209,7 @@ SelfTree src/Dodge/Data/MetaTree.hs 20;" t
SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C
SensorType src/Dodge/Data/Machine/Sensor.hs 14;" t
SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 33;" C
SentinelAt src/Dodge/Data/ActionPlan.hs 199;" C
SentinelAt src/Dodge/Data/ActionPlan.hs 200;" C
SetLSCol src/Dodge/Data/WorldEffect.hs 26;" C
SetTrigger src/Dodge/Data/WorldEffect.hs 24;" C
ShadNum src/Picture/Data.hs 35;" t
@@ -1953,7 +1954,7 @@ _items src/Dodge/Data/LWorld.hs 98;" f
_itsInt src/Dodge/Data/Item.hs 40;" f
_itsMax src/Dodge/Data/Item.hs 41;" f
_itsRangeInt src/Dodge/Data/Item.hs 41;" f
_killTarget src/Dodge/Data/ActionPlan.hs 198;" f
_killTarget src/Dodge/Data/ActionPlan.hs 199;" f
_lAimPos src/Dodge/Data/LWorld.hs 145;" f
_lClock src/Dodge/Data/LWorld.hs 140;" f
_lInvLock src/Dodge/Data/LWorld.hs 146;" f
@@ -2296,8 +2297,8 @@ _sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f
_sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f
_sensType src/Dodge/Data/Machine/Sensor.hs 23;" f
_sensorCoding src/Dodge/Data/GenParams.hs 16;" f
_sentinelDir src/Dodge/Data/ActionPlan.hs 199;" f
_sentinelPos src/Dodge/Data/ActionPlan.hs 199;" f
_sentinelDir src/Dodge/Data/ActionPlan.hs 200;" f
_sentinelPos src/Dodge/Data/ActionPlan.hs 200;" f
_sfColor src/Shape/Data.hs 44;" f
_sfShadowImportance src/Shape/Data.hs 45;" f
_sfSize src/Shape/Data.hs 46;" f
@@ -2727,7 +2728,7 @@ battery src/Dodge/Item/Ammo.hs 63;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 86;" f
beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsNodePoints src/Dodge/Path.hs 57;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 219;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
bgunSound src/Dodge/HeldUse.hs 514;" f
@@ -2855,10 +2856,10 @@ chooseCursorBorders src/Dodge/Render/List.hs 155;" f
chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f
chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f
chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 107;" f
chooseMovementLtAuto src/Dodge/CreatureEffect.hs 108;" f
chooseMovementPistol src/Dodge/Humanoid.hs 204;" f
chooseMovementPistol' src/Dodge/Humanoid.hs 209;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 90;" f
chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 91;" f
circHitWall src/Dodge/Base/Collide.hs 242;" f
circInPolygon src/Geometry/Polygon.hs 102;" f
circOnAnyCr src/Dodge/Base/Collide.hs 297;" f
@@ -2886,7 +2887,7 @@ cleatLabel src/Dodge/Cleat.hs 30;" f
cleatOnward src/Dodge/Cleat.hs 24;" f
cleatSide src/Dodge/Cleat.hs 27;" f
click1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 582;" f
clickGetCreature src/Dodge/Debug.hs 109;" f
clickGetCreature src/Dodge/Debug.hs 150;" f
clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 230;" f
@@ -2895,7 +2896,7 @@ closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 223;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 208;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f
closeObjectInfo src/Dodge/Render/HUD.hs 226;" f
closestCreatureID src/Dodge/Debug.hs 118;" f
closestCreatureID src/Dodge/Debug.hs 159;" f
closestPointOnLine src/Geometry/Intersect.hs 272;" f
closestPointOnLineParam src/Geometry/Intersect.hs 288;" f
closestPointOnSeg src/Geometry/Intersect.hs 303;" f
@@ -2953,7 +2954,7 @@ conEffects src/Dodge/Concurrent.hs 12;" f
conLDTToConDT src/Dodge/DoubleTree.hs 22;" f
concurrentIS src/Dodge/Update/Input/InGame.hs 287;" f
connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f
constDPic src/Dodge/Debug.hs 62;" f
constDPic src/Dodge/Debug.hs 70;" f
constructEdges src/Polyhedra.hs 34;" f
constructEdgesList src/Polyhedra.hs 43;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f
@@ -3109,15 +3110,15 @@ deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSize src/Dodge/Block/Debris.hs 77;" f
debugEvent src/Dodge/Debug.hs 27;" f
debugEvents src/Dodge/Debug.hs 20;" f
debugItem src/Dodge/Debug.hs 30;" f
debugList src/Dodge/Debug.hs 105;" f
debugEvent src/Dodge/Debug.hs 35;" f
debugEvents src/Dodge/Debug.hs 28;" f
debugItem src/Dodge/Debug.hs 38;" f
debugList src/Dodge/Debug.hs 146;" f
debugMenu src/Dodge/Menu.hs 125;" f
debugMenuOptions src/Dodge/Menu.hs 131;" f
debugOn src/Dodge/Data/Config.hs 151;" f
debugSelectCreatureList src/Dodge/Debug.hs 88;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 79;" f
debugSelectCreatureList src/Dodge/Debug.hs 129;" f
debugSelectCreatureMessage src/Dodge/Debug.hs 120;" f
decodeSensorType src/Dodge/Terminal.hs 72;" f
decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
@@ -3267,8 +3268,8 @@ doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1158;" f
doGravityPU src/Dodge/Projectile/Update.hs 34;" f
doHeldUseEffect src/Dodge/HeldUse.hs 351;" f
doInPlacements src/Dodge/Layout.hs 82;" f
doIndividualPlacements src/Dodge/Layout.hs 96;" f
doInPlacements src/Dodge/Layout.hs 83;" f
doIndividualPlacements src/Dodge/Layout.hs 97;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
doIntImp src/Dodge/CreatureEffect.hs 25;" f
doItemTimeScroll src/Dodge/Update.hs 191;" f
@@ -3286,7 +3287,7 @@ doQuickload src/Dodge/Save.hs 82;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 7;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 447;" f
doRoomPlacements src/Dodge/Layout.hs 99;" f
doRoomPlacements src/Dodge/Layout.hs 100;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
doSectionSize src/Dodge/DisplayInventory.hs 211;" f
@@ -3342,7 +3343,7 @@ drawCombFilter src/Dodge/Render/Picture.hs 255;" f
drawCombineInventory src/Dodge/Render/HUD.hs 182;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 69;" f
drawCoord src/Dodge/Debug/Picture.hs 376;" f
drawCrInfo src/Dodge/Debug/Picture.hs 397;" f
drawCrInfo src/Dodge/Debug.hs 73;" f
drawCreature src/Dodge/Render/ShapePicture.hs 67;" f
drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f
drawCross src/Dodge/Render/Label.hs 24;" f
@@ -3402,7 +3403,7 @@ drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f
drawOptions src/Dodge/Render/MenuScreen.hs 22;" f
drawPathBetween src/Dodge/Debug/Picture.hs 201;" f
drawPathEdge src/Dodge/Debug/Picture.hs 258;" f
drawPathing src/Dodge/Debug/Picture.hs 439;" f
drawPathing src/Dodge/Debug/Picture.hs 398;" f
drawPlus src/Dodge/Render/Picture.hs 151;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
@@ -3483,7 +3484,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f
ebFlicker src/Dodge/EnergyBall.hs 70;" f
ebtToDamage src/Dodge/EnergyBall.hs 93;" f
edgeFormatting src/Dodge/Combine/Graph.hs 131;" f
edgeToPic src/Dodge/Debug/Picture.hs 448;" f
edgeToPic src/Dodge/Debug/Picture.hs 407;" f
effectOnEquip src/Dodge/Equipment.hs 32;" f
effectOnRemove src/Dodge/Equipment.hs 19;" f
eitType src/Dodge/Data/EquipType.hs 15;" f
@@ -3580,7 +3581,7 @@ flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 38;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 440;" f
fleeFrom src/Dodge/CreatureEffect.hs 122;" f
fleeFrom src/Dodge/CreatureEffect.hs 123;" f
fleeFromTarget src/Dodge/CreatureEffect.hs 68;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
@@ -3627,8 +3628,6 @@ frontArmour src/Dodge/Item/Equipment.hs 38;" f
fstV2 src/Geometry/Data.hs 70;" f
fuelPack src/Dodge/Item/Equipment.hs 53;" f
functionalUpdate src/Dodge/Update.hs 239;" f
fuseFunc src/Dodge/Path.hs 150;" f
fusePairs src/Dodge/Path.hs 153;" f
fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f
fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
@@ -3637,9 +3636,9 @@ gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
gRandify src/Dodge/Randify.hs 11;" f
gadgetEffect src/Dodge/HeldUse.hs 47;" f
gameOverMenu src/Dodge/Menu.hs 208;" f
gameRoomFromRoom src/Dodge/Layout.hs 147;" f
gameRoomFromRoom src/Dodge/Layout.hs 148;" f
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 144;" f
gameRoomsFromRooms src/Dodge/Layout.hs 145;" f
gameplayMenu src/Dodge/Menu.hs 155;" f
gameplayMenuOptions src/Dodge/Menu.hs 158;" f
gasType src/Dodge/HeldUse.hs 1115;" f
@@ -3676,7 +3675,7 @@ getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
getLinksOfType src/Dodge/RoomLink.hs 41;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f
getMenuMouseContext src/Dodge/Update.hs 373;" f
getNodePos src/Dodge/Path.hs 31;" f
getNodePos src/Dodge/Path.hs 30;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
@@ -3686,7 +3685,7 @@ getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 129;" f
getTiles src/Dodge/Layout.hs 194;" f
getTiles src/Dodge/Layout.hs 195;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 126;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f
@@ -4157,8 +4156,9 @@ makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 60;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetween src/Dodge/Path.hs 40;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
makePathUsing src/Dodge/Path.hs 33;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f
makeRect src/Grid.hs 82;" f
makeSelectionListPictures src/Dodge/Render/List.hs 65;" f
@@ -4502,7 +4502,7 @@ pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f
pointInPoly src/Geometry/Polygon.hs 86;" f
pointIsInCone src/Geometry.hs 375;" f
pointIsOnScreen src/Dodge/Base/Window.hs 59;" f
pointTowardsImpulse src/Dodge/Path.hs 63;" f
pointTowardsImpulse src/Dodge/Path.hs 62;" f
pointerToItem src/Dodge/Item/Location.hs 39;" f
pointerToItemID src/Dodge/Item/Location.hs 42;" f
pointerYourRootItem src/Dodge/Item/Location.hs 33;" f
@@ -4688,7 +4688,7 @@ randSpark src/Dodge/Spark.hs 69;" f
randSparkExtraVel src/Dodge/Spark.hs 92;" f
randWallReflect src/Dodge/Update.hs 628;" f
randomChallenges src/Dodge/Room/Start.hs 63;" f
randomCompass src/Dodge/Layout.hs 58;" f
randomCompass src/Dodge/Layout.hs 56;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 268;" f
randomFourCornerRoomCrsIts src/Dodge/Room/Procedural.hs 280;" f
randomLightPositions src/Dodge/Room/Modify/Girder.hs 152;" f
@@ -4882,7 +4882,7 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 28;" f
scrollAugInvSel src/Dodge/Inventory.hs 191;" f
scrollAugNextInSection src/Dodge/Inventory.hs 204;" f
scrollDebugInfoInt src/Dodge/Debug.hs 73;" f
scrollDebugInfoInt src/Dodge/Debug.hs 114;" f
scrollRBOption src/Dodge/Update/Scroll.hs 202;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 28;" f
scrollTimeBack src/Dodge/Update.hs 206;" f
@@ -4910,7 +4910,7 @@ selSecDrawCursorAt src/Dodge/Render/List.hs 104;" f
selSecSelCol src/Dodge/Render/HUD.hs 501;" f
selSecSelSize src/Dodge/SelectionSections.hs 143;" f
selSecYint src/Dodge/SelectionSections.hs 152;" f
selectCreatureDebugItem src/Dodge/Debug.hs 65;" f
selectCreatureDebugItem src/Dodge/Debug.hs 106;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f
sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f
sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f
@@ -4952,8 +4952,8 @@ setShaderSource src/Shader/Compile.hs 290;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 77;" f
setTile src/Dodge/Layout.hs 67;" f
setTiles src/Dodge/Layout.hs 64;" f
setTile src/Dodge/Layout.hs 66;" f
setTiles src/Dodge/Layout.hs 63;" f
setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 67;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f
@@ -4977,7 +4977,7 @@ setupVBOStatic src/Shader/Compile.hs 116;" f
setupVBOVAO src/Shader/Compile.hs 200;" f
setupVertexAttribPointer src/Shader/Compile.hs 224;" f
setupVertexAttribs src/Shader/Compile.hs 218;" f
setupWorldBounds src/Dodge/Layout.hs 111;" f
setupWorldBounds src/Dodge/Layout.hs 112;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f
shaderTypeExt src/Shader/Compile.hs 172;" f
@@ -5049,7 +5049,7 @@ shrinkPolyOnEdges src/Geometry/Polygon.hs 174;" f
shrinkVert src/Geometry/Polygon.hs 178;" f
shuffle src/RandomHelp.hs 49;" f
shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 77;" f
shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/RandomHelp.hs 59;" f
sigmoid src/Dodge/Base.hs 151;" f
simpleCrSprings src/Dodge/Update.hs 846;" f
@@ -5083,6 +5083,7 @@ smallPillar src/Dodge/Room/Pillar.hs 37;" f
smallRoom src/Dodge/Room/RunPast.hs 31;" f
smg src/Dodge/Item/Held/Stick.hs 58;" f
smokeReducer src/Dodge/Item/Scope.hs 162;" f
snapToGrid src/Dodge/Path.hs 150;" f
sndV2 src/Geometry/Data.hs 73;" f
sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f
someCrits src/Dodge/LockAndKey.hs 120;" f
@@ -5273,7 +5274,7 @@ thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 44;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
throwItem src/Dodge/Creature/Action.hs 212;" f
tileTexCoords src/Tile.hs 11;" f
tilesFromRooms src/Dodge/Layout.hs 191;" f
tilesFromRooms src/Dodge/Layout.hs 192;" f
tilesToLine src/Shader/AuxAddition.hs 66;" f
timeFlowUpdate src/Dodge/Update.hs 167;" f
timeScroller src/Dodge/Item/Held/Utility.hs 42;" f
@@ -5618,7 +5619,7 @@ wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f
wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallToSurface src/Dodge/Base/Collide.hs 182;" f
wallsFromRooms src/Dodge/Layout.hs 132;" f
wallsFromRooms src/Dodge/Layout.hs 133;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1376;" f
warningRooms src/Dodge/Room/Warning.hs 30;" f