Partially working mounts on lerp doors

This commit is contained in:
2025-10-22 11:03:46 +01:00
parent f8073381ee
commit af245fb5bf
10 changed files with 78 additions and 150 deletions
+3 -1
View File
@@ -7,6 +7,7 @@ module Dodge.Block.Debris (
makeDebrisDirected, makeDebrisDirected,
) where ) where
import Dodge.ShiftPoint
import Color import Color
import Data.Foldable import Data.Foldable
import qualified Data.IntSet as IS import qualified Data.IntSet as IS
@@ -24,7 +25,8 @@ import Shape
makeDoorDebris :: Door -> World -> World makeDoorDebris :: Door -> World -> World
makeDoorDebris dr w = w & makeDebris mt col p makeDoorDebris dr w = w & makeDebris mt col p
where where
p = uncurry midPoint (_drPos dr) p2a = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos) (dr ^. drLerp)
p = centroid . fmap fst $ (dr ^. drFootPrint) & each . each %~ shiftPointBy p2a
(mt, col) = fromMaybe (Stone, greyN 0.5) $ do (mt, col) = fromMaybe (Stone, greyN 0.5) $ do
wlids <- w ^? cWorld . lWorld . doors . ix (_drID dr) . drWallIDs wlids <- w ^? cWorld . lWorld . doors . ix (_drID dr) . drWallIDs
(wlid, _) <- IS.minView wlids (wlid, _) <- IS.minView wlids
+3 -7
View File
@@ -18,8 +18,8 @@ import Dodge.Data.WorldEffect
import Geometry.Data import Geometry.Data
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
data DoorStatus = DoorOpen | DoorClosed | DoorHalfway | DoorInt Int --data DoorStatus = DoorOpen | DoorClosed | DoorHalfway | DoorInt Int
deriving Eq -- deriving Eq
data PushSource data PushSource
= PushesItself = PushesItself
@@ -30,12 +30,8 @@ data PushSource
data Door = Door data Door = Door
{ _drID :: Int { _drID :: Int
, _drWallIDs :: IS.IntSet , _drWallIDs :: IS.IntSet
, _drStatus :: DoorStatus
, _drTrigger :: WdBl , _drTrigger :: WdBl
, _drMech :: DrWdWd , _drMech :: DrWdWd
, _drPos :: (Point2, Point2)
, _drOpenPos :: (Point2, Point2)
, _drClosePos :: (Point2, Point2)
, _drZeroPos :: (Point2,Float) , _drZeroPos :: (Point2,Float)
, _drOnePos :: (Point2,Float) , _drOnePos :: (Point2,Float)
, _drLerp :: Float , _drLerp :: Float
@@ -51,6 +47,6 @@ data Door = Door
} }
makeLenses ''Door makeLenses ''Door
deriveJSON defaultOptions ''DoorStatus --deriveJSON defaultOptions ''DoorStatus
deriveJSON defaultOptions ''PushSource deriveJSON defaultOptions ''PushSource
deriveJSON defaultOptions ''Door deriveJSON defaultOptions ''Door
+4 -4
View File
@@ -31,12 +31,12 @@ defaultDoor =
Door Door
{ _drID = 0 { _drID = 0
, _drWallIDs = mempty , _drWallIDs = mempty
, _drStatus = DoorClosed -- , _drStatus = DoorClosed
, _drTrigger = WdBlConst False , _drTrigger = WdBlConst False
, _drMech = DrWdId , _drMech = DrWdId
, _drPos = (0, 0) -- , _drPos = (0, 0)
, _drOpenPos = (0, 0) -- , _drOpenPos = (0, 0)
, _drClosePos = (0, 0) -- , _drClosePos = (0, 0)
, _drZeroPos = (0,0) , _drZeroPos = (0,0)
, _drOnePos = (0,0) , _drOnePos = (0,0)
, _drLerp = 0 , _drLerp = 0
+14 -32
View File
@@ -1,15 +1,13 @@
module Dodge.DrWdWd (doDrWdWd) where module Dodge.DrWdWd (doDrWdWd) where
import Dodge.Wall.Move
import Dodge.ShiftPoint
import Linear
import Data.IntMap.Merge.Strict
import Control.Lens import Control.Lens
import Data.Maybe
import Dodge.Block.Debris import Dodge.Block.Debris
import Dodge.Data.World import Dodge.Data.World
import Dodge.ShiftPoint
import Dodge.SoundLogic import Dodge.SoundLogic
import Dodge.Wall.Move
import Dodge.WorldBool import Dodge.WorldBool
import Geometry
doDrWdWd :: DrWdWd -> Door -> World -> World doDrWdWd :: DrWdWd -> Door -> World -> World
doDrWdWd dww = case dww of doDrWdWd dww = case dww of
@@ -18,20 +16,15 @@ doDrWdWd dww = case dww of
DoorLerp -> doorLerp DoorLerp -> doorLerp
doorLerp :: Door -> World -> World doorLerp :: Door -> World -> World
doorLerp dr w = case newlerp of doorLerp dr w = fromMaybe w $ do
Just x -> x <- newlerp
w' x return $
-- & cWorld . lWorld . walls %~ merge dropMissing preserveMissing f f x
-- (wlposs x) & playSound x
& moveUpdate
& cWorld . lWorld . doors . ix drid . drLerp .~ x & cWorld . lWorld . doors . ix drid . drLerp .~ x
Nothing -> w
where where
w' = ifoldl' (\i v p -> moveWallID i p v) w . wlposs f = ifoldl' (flip . moveWallID) w . wlposs
-- f = zipWithMatched $ \_ l wl -> wl & wlLine .~ l p2a = lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos)
(zp,za) = dr^. drZeroPos
(yp,ya) = dr^. drOnePos
p2a x = (zp + x *^ (yp - zp) , za + x * diffAngles ya za)
wlposs x = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x) wlposs x = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x)
clerp = dr ^. drLerp clerp = dr ^. drLerp
newlerp newlerp
@@ -39,21 +32,10 @@ doorLerp dr w = case newlerp of
| clerp > 0 && not toOpen = Just . max 0 $ clerp - speed | clerp > 0 && not toOpen = Just . max 0 $ clerp - speed
| otherwise = Nothing | otherwise = Nothing
toOpen = doWdBl (_drTrigger dr) w toOpen = doWdBl (_drTrigger dr) w
-- mvDir
-- | toOpen && _drStatus dr == DoorOpen = Nothing -- Not sure why necessary
-- | toOpen && dist dpos dop > 0.5 = Just $ vecBetweenSpeed speed dpos dop
-- | dist dpos dcp > 0.5 = Just $ vecBetweenSpeed speed dpos dcp
-- | otherwise = Nothing
speed = _drSpeed dr speed = _drSpeed dr
drid = _drID dr drid = _drID dr
moveUpdate = playSound . setStatus playSound x
playSound | _drPushedBy dr == PushesItself =
| _drPushedBy dr == PushesItself = soundContinue (WallSound drid) dpos slideDoorS (Just 1) soundContinue (WallSound drid) (fst $ p2a x) slideDoorS (Just 1)
| otherwise = id | otherwise = id
dpos = snd $ _drPos dr -- dpos = snd $ _drPos dr
dop = snd $ _drOpenPos dr
dcp = snd $ _drClosePos dr
setStatus
| dist dpos dop < 1 = cWorld . lWorld . doors . ix drid . drStatus .~ DoorOpen
| dist dpos dcp < 1 = cWorld . lWorld . doors . ix drid . drStatus .~ DoorClosed
| otherwise = cWorld . lWorld . doors . ix drid . drStatus .~ DoorHalfway
@@ -37,13 +37,8 @@ plDoor col eo cond l p1 p2 gw = (drid, over gwWorld addWalls $ gw & gwWorld . cW
defaultDoor defaultDoor
{ _drID = drid { _drID = drid
, _drWallIDs = IS.fromList wlids , _drWallIDs = IS.fromList wlids
, _drStatus = DoorInt 0
, _drTrigger = cond , _drTrigger = cond
--, _drMech = DrWdMechanismStepwise nsteps wlids pss
, _drMech = DoorLerp , _drMech = DoorLerp
-- , _drPos = head pss
-- , _drOpenPos = head pss
-- , _drClosePos = last pss
, _drZeroPos = p1 , _drZeroPos = p1
, _drOnePos = p2 , _drOnePos = p2
, _drLerp = 0 , _drLerp = 0
@@ -102,12 +97,7 @@ plSlideDoor dr wl eo shiftOffset a b gw =
dr dr
{ _drID = drid { _drID = drid
, _drWallIDs = IS.fromList wlids , _drWallIDs = IS.fromList wlids
, _drStatus = DoorClosed
-- , _drMech = DoorMechanism
, _drMech = DoorLerp , _drMech = DoorLerp
, _drPos = (a, b)
, _drOpenPos = (shiftLeft a, shiftLeft b)
, _drClosePos = (a, b)
, _drZeroPos = (a, 0) , _drZeroPos = (a, 0)
, _drOnePos = (shiftLeft a, 0) , _drOnePos = (shiftLeft a, 0)
, _drLerp = 0 , _drLerp = 0
+4
View File
@@ -3,6 +3,7 @@
module Dodge.ShiftPoint where module Dodge.ShiftPoint where
import Geometry import Geometry
import Linear
shiftPointBy :: Point2A -> Point2 -> Point2 shiftPointBy :: Point2A -> Point2 -> Point2
shiftPointBy (pos, rot) !p = pos +.+ rotateV rot p shiftPointBy (pos, rot) !p = pos +.+ rotateV rot p
@@ -10,6 +11,9 @@ shiftPointBy (pos, rot) !p = pos +.+ rotateV rot p
compP2A :: Point2A -> Point2A -> Point2A compP2A :: Point2A -> Point2A -> Point2A
compP2A (p1,r1) (p2,r2) = (p1 +.+ rotateV r1 p2, r1 + r2) compP2A (p1,r1) (p2,r2) = (p1 +.+ rotateV r1 p2, r1 + r2)
lerpP2A :: Point2A -> Point2A -> Float -> Point2A
lerpP2A (p1,a1) (p2,a2) x = (p1 + x *^ (p2 - p1), a1 + x * diffAngles a2 a1)
invShiftPointBy :: (Point2, Float) -> Point2 -> Point2 invShiftPointBy :: (Point2, Float) -> Point2 -> Point2
invShiftPointBy (p1, r) p2 = rotateV (- r) $ p2 -.- p1 invShiftPointBy (p1, r) p2 = rotateV (- r) $ p2 -.- p1
-31
View File
@@ -3,15 +3,9 @@
module Dodge.Wall.Move ( module Dodge.Wall.Move (
moveWallID, moveWallID,
moveWallIDUnsafe, moveWallIDUnsafe,
moveWall,
moveWallIDToward,
translateWallID,
mvPs,
) where ) where
import Control.Lens import Control.Lens
import Data.Maybe
import Dodge.Base
import Dodge.Data.World import Dodge.Data.World
import Dodge.Wall.Zone import Dodge.Wall.Zone
import Geometry import Geometry
@@ -33,28 +27,3 @@ moveWall wlid wl wlline w =
& insertWallInZones newwl & insertWallInZones newwl
where where
newwl = wl{_wlLine = wlline} newwl = wl{_wlLine = wlline}
translateWallID :: Int -> Point2 -> World -> World
translateWallID wlid p w = fromMaybe w $ do
oldwl <- w ^? cWorld . lWorld . walls . ix wlid
let newwl = oldwl & wlLine . each +~ p
return $
w
& cWorld . lWorld . walls . ix wlid .~ newwl
& deleteWallFromZones oldwl
& insertWallInZones newwl
moveWallIDToward :: Int -> Float -> (Point2, Point2) -> World -> World
moveWallIDToward wlid speed ep w = moveWall wlid wl newwlline w
where
--wl = _walls (_cWorld w) IM.! wlid
wl = w ^?! cWorld . lWorld . walls . ix wlid
newwlline = mvPs speed ep (_wlLine wl)
mvP :: Float -> Point2 -> Point2 -> Point2
{-# INLINE mvP #-}
mvP !speed !ep !p = mvPointTowardAtSpeed speed ep p
mvPs :: Float -> (Point2, Point2) -> (Point2, Point2) -> (Point2, Point2)
{-# INLINE mvPs #-}
mvPs !speed (!ex, !ey) (!sx, !sy) = (mvP speed ex sx, mvP speed ey sy)
+3 -3
View File
@@ -1,15 +1,15 @@
{-# OPTIONS -Wno-incomplete-uni-patterns #-} {-# OPTIONS -Wno-incomplete-uni-patterns #-}
module Dodge.WdP2f (doWdP2f) where module Dodge.WdP2f (doWdP2f) where
import Dodge.ShiftPoint
import Control.Lens import Control.Lens
import Dodge.Data.World import Dodge.Data.World
import Geometry.Data import Geometry.Data
import Geometry.Vector
-- # OPTIONS -Wno-incomplete-uni-patterns #-} -- # OPTIONS -Wno-incomplete-uni-patterns #-}
doWdP2f :: WdP2f -> World -> (Point2, Float) doWdP2f :: WdP2f -> World -> (Point2, Float)
doWdP2f x = case x of doWdP2f x = case x of
WdP2f0 -> const (0, 0) WdP2f0 -> const (0, 0)
WdP2fDoorPosition drid -> \w -> WdP2fDoorPosition drid -> \w ->
let Just (a, b) = w ^? cWorld . lWorld . doors . ix drid . drPos let dr = w ^?! cWorld . lWorld . doors . ix drid
in (b, argV (a -.- b)) in lerpP2A (dr ^. drZeroPos) (dr ^. drOnePos) (dr ^. drLerp)
+2 -1
View File
@@ -13,7 +13,8 @@ doWdBl wb w = case wb of
WdTrig i -> fromMaybe False $ w ^? cWorld . lWorld . triggers . ix i WdTrig i -> fromMaybe False $ w ^? cWorld . lWorld . triggers . ix i
WdBlDoorMoving i -> fromMaybe False $ do WdBlDoorMoving i -> fromMaybe False $ do
dr <- w ^? cWorld . lWorld . doors . ix i dr <- w ^? cWorld . lWorld . doors . ix i
return (DoorHalfway == _drStatus dr) --return (DoorHalfway == _drStatus dr)
return (0 /= _drLerp dr && 1 /= _drLerp dr)
WdBlCrFilterNearPoint r p t -> any (crNearPoint r p) (IM.filter (doCrBl t) (w ^. cWorld . lWorld . creatures)) WdBlCrFilterNearPoint r p t -> any (crNearPoint r p) (IM.filter (doCrBl t) (w ^. cWorld . lWorld . creatures))
WdBlBtOn btid -> w ^?! cWorld . lWorld . buttons . ix btid . btEvent . btOn -- unsafe WdBlBtOn btid -> w ^?! cWorld . lWorld . buttons . ix btid . btEvent . btOn -- unsafe
WdBlNegate x -> not $ doWdBl x w WdBlNegate x -> not $ doWdBl x w
+45 -61
View File
@@ -350,21 +350,14 @@ DoReplicate src/Dodge/Data/ActionPlan.hs 106;" C
DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C DoReplicatePartial src/Dodge/Data/ActionPlan.hs 110;" C
DockingBaySS src/Dodge/Data/Scenario.hs 92;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C
Door src/Dodge/Data/Door.hs 30;" t Door src/Dodge/Data/Door.hs 30;" t
DoorClosed src/Dodge/Data/Door.hs 21;" C DoorLerp src/Dodge/Data/WorldEffect.hs 66;" C
DoorHalfway src/Dodge/Data/Door.hs 21;" C
DoorInt src/Dodge/Data/Door.hs 21;" C
DoorLerp src/Dodge/Data/WorldEffect.hs 70;" C
DoorMechanism src/Dodge/Data/WorldEffect.hs 69;" C
DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C DoorObstacle src/Dodge/Data/PathGraph.hs 50;" C
DoorOpen src/Dodge/Data/Door.hs 21;" C
DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C
DoorStatus src/Dodge/Data/Door.hs 21;" t
DoubleRes src/Dodge/Data/Config.hs 98;" C DoubleRes src/Dodge/Data/Config.hs 98;" C
DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t
DrWdId src/Dodge/Data/WorldEffect.hs 66;" C DrWdId src/Dodge/Data/WorldEffect.hs 64;" C
DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 67;" C DrWdMakeDoorDebris src/Dodge/Data/WorldEffect.hs 65;" C
DrWdMechanismStepwise src/Dodge/Data/WorldEffect.hs 68;" C DrWdWd src/Dodge/Data/WorldEffect.hs 63;" t
DrWdWd src/Dodge/Data/WorldEffect.hs 65;" t
DrawForceField src/Dodge/Data/Wall.hs 45;" C DrawForceField src/Dodge/Data/Wall.hs 45;" C
DrawnWall src/Dodge/Data/Wall.hs 41;" C DrawnWall src/Dodge/Data/Wall.hs 41;" C
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
@@ -1480,9 +1473,9 @@ WdCrSafeDistFromTarget src/Dodge/Data/CreatureEffect.hs 17;" C
WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C WdCrTrue src/Dodge/Data/CreatureEffect.hs 13;" C
WdP2 src/Dodge/Data/WorldEffect.hs 38;" t WdP2 src/Dodge/Data/WorldEffect.hs 38;" t
WdP2Const src/Dodge/Data/WorldEffect.hs 39;" C WdP2Const src/Dodge/Data/WorldEffect.hs 39;" C
WdP2f src/Dodge/Data/WorldEffect.hs 60;" t WdP2f src/Dodge/Data/WorldEffect.hs 59;" t
WdP2f0 src/Dodge/Data/WorldEffect.hs 61;" C WdP2f0 src/Dodge/Data/WorldEffect.hs 60;" C
WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 62;" C WdP2fDoorPosition src/Dodge/Data/WorldEffect.hs 61;" C
WdTrig src/Dodge/Data/WorldEffect.hs 51;" C WdTrig src/Dodge/Data/WorldEffect.hs 51;" C
WdWd src/Dodge/Data/WorldEffect.hs 20;" t WdWd src/Dodge/Data/WorldEffect.hs 20;" t
WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 34;" C WdWdBurstFireRepetition src/Dodge/Data/WorldEffect.hs 34;" C
@@ -1765,7 +1758,6 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 113;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 107;" f
_doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 112;" f
_doors src/Dodge/Data/LWorld.hs 118;" f _doors src/Dodge/Data/LWorld.hs 118;" f
_drClosePos src/Dodge/Data/Door.hs 38;" f
_drDeath src/Dodge/Data/Door.hs 44;" f _drDeath src/Dodge/Data/Door.hs 44;" f
_drFootPrint src/Dodge/Data/Door.hs 42;" f _drFootPrint src/Dodge/Data/Door.hs 42;" f
_drHP src/Dodge/Data/Door.hs 43;" f _drHP src/Dodge/Data/Door.hs 43;" f
@@ -1775,12 +1767,9 @@ _drMech src/Dodge/Data/Door.hs 35;" f
_drMounts src/Dodge/Data/Door.hs 48;" f _drMounts src/Dodge/Data/Door.hs 48;" f
_drObstacleType src/Dodge/Data/Door.hs 50;" f _drObstacleType src/Dodge/Data/Door.hs 50;" f
_drOnePos src/Dodge/Data/Door.hs 40;" f _drOnePos src/Dodge/Data/Door.hs 40;" f
_drOpenPos src/Dodge/Data/Door.hs 37;" f
_drPos src/Dodge/Data/Door.hs 36;" f
_drPushedBy src/Dodge/Data/Door.hs 46;" f _drPushedBy src/Dodge/Data/Door.hs 46;" f
_drPushes src/Dodge/Data/Door.hs 47;" f _drPushes src/Dodge/Data/Door.hs 47;" f
_drSpeed src/Dodge/Data/Door.hs 45;" f _drSpeed src/Dodge/Data/Door.hs 45;" f
_drStatus src/Dodge/Data/Door.hs 33;" f
_drTrigger src/Dodge/Data/Door.hs 34;" f _drTrigger src/Dodge/Data/Door.hs 34;" f
_drWallIDs src/Dodge/Data/Door.hs 32;" f _drWallIDs src/Dodge/Data/Door.hs 32;" f
_drZeroPos src/Dodge/Data/Door.hs 39;" f _drZeroPos src/Dodge/Data/Door.hs 39;" f
@@ -2559,13 +2548,13 @@ aimDelaySweep src/Dodge/Render/Picture.hs 287;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 181;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f
airlock src/Dodge/Room/Airlock.hs 23;" f airlock src/Dodge/Room/Airlock.hs 23;" f
airlock0 src/Dodge/Room/Airlock.hs 67;" f airlock0 src/Dodge/Room/Airlock.hs 71;" f
airlock90 src/Dodge/Room/Airlock.hs 179;" f airlock90 src/Dodge/Room/Airlock.hs 208;" f
airlockCrystal src/Dodge/Room/Airlock.hs 221;" f airlockCrystal src/Dodge/Room/Airlock.hs 253;" f
airlockDoor src/Dodge/Room/Airlock.hs 94;" f airlockDoor src/Dodge/Room/Airlock.hs 98;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 97;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 101;" f
airlockSimple src/Dodge/Room/Airlock.hs 109;" f airlockSimple src/Dodge/Room/Airlock.hs 117;" f
airlockZ src/Dodge/Room/Airlock.hs 141;" f airlockZ src/Dodge/Room/Airlock.hs 159;" f
allVisibleWalls src/Dodge/Base/Collide.hs 225;" f allVisibleWalls src/Dodge/Base/Collide.hs 225;" f
alongSegBy src/Geometry.hs 40;" f alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -2763,7 +2752,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f
cChasm src/Dodge/Room/Tutorial.hs 115;" f cChasm src/Dodge/Room/Tutorial.hs 121;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2798,7 +2787,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 7;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 182;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 188;" f
chasmTest src/Dodge/Creature/Update.hs 132;" f chasmTest src/Dodge/Creature/Update.hs 132;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 120;" f chasmWallToSurface src/Dodge/Base/Collide.hs 120;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2904,7 +2893,7 @@ combineTree src/Dodge/Tree/Compose.hs 67;" f
commandColor src/Dodge/Terminal.hs 114;" f commandColor src/Dodge/Terminal.hs 114;" f
commonPrefix src/Dodge/Debug/Terminal.hs 149;" f commonPrefix src/Dodge/Debug/Terminal.hs 149;" f
comp src/Quaternion.hs 61;" f comp src/Quaternion.hs 61;" f
compP2A src/Dodge/ShiftPoint.hs 10;" f compP2A src/Dodge/ShiftPoint.hs 11;" f
compactDraw src/Dodge/LevelGen.hs 94;" f compactDraw src/Dodge/LevelGen.hs 94;" f
compactDraw' src/Dodge/LevelGen.hs 105;" f compactDraw' src/Dodge/LevelGen.hs 105;" f
compactDrawTree src/Dodge/LevelGen.hs 88;" f compactDrawTree src/Dodge/LevelGen.hs 88;" f
@@ -3221,7 +3210,7 @@ doDebugTestF12 src/Dodge/Update/Input/DebugTest.hs 84;" f
doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f doDebugTestF6 src/Dodge/Update/Input/DebugTest.hs 41;" f
doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDrWdWd src/Dodge/DrWdWd.hs 19;" f doDrWdWd src/Dodge/DrWdWd.hs 14;" f
doDrag src/Dodge/Update/Input/InGame.hs 127;" f doDrag src/Dodge/Update/Input/InGame.hs 127;" f
doDrawing src/Dodge/Render.hs 34;" f doDrawing src/Dodge/Render.hs 34;" f
doDrawing' src/Dodge/Render.hs 45;" f doDrawing' src/Dodge/Render.hs 45;" f
@@ -3258,15 +3247,13 @@ doTmWdWd src/Dodge/WorldEffect.hs 89;" f
doWallRotate src/Dodge/Update/Camera.hs 220;" f doWallRotate src/Dodge/Update/Camera.hs 220;" f
doWdBl src/Dodge/WorldBool.hs 10;" f doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f doWdP2f src/Dodge/WdP2f.hs 10;" f
doWdWd src/Dodge/WorldEffect.hs 28;" f doWdWd src/Dodge/WorldEffect.hs 28;" f
doWorldEvents src/Dodge/Update.hs 428;" f doWorldEvents src/Dodge/Update.hs 428;" f
doWorldPos src/Dodge/WorldPos.hs 10;" f doWorldPos src/Dodge/WorldPos.hs 10;" f
door src/Dodge/Room/Door.hs 14;" f door src/Dodge/Room/Door.hs 14;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f
doorLerp src/Dodge/DrWdWd.hs 58;" f doorLerp src/Dodge/DrWdWd.hs 20;" f
doorMechanism src/Dodge/DrWdWd.hs 28;" f
doorMechanismStepwise src/Dodge/DrWdWd.hs 103;" f
dotV src/Geometry/Vector.hs 76;" f dotV src/Geometry/Vector.hs 76;" f
dotV3 src/Geometry/Vector3D.hs 119;" f dotV3 src/Geometry/Vector3D.hs 119;" f
doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f doubleCorridorBarrels src/Dodge/Room/Room.hs 276;" f
@@ -3552,7 +3539,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f
floorWire src/Dodge/Wire.hs 13;" f floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
foldMTRS src/Dodge/Room/Tutorial.hs 60;" f foldMTRS src/Dodge/Room/Tutorial.hs 66;" f
foldPairs src/ListHelp.hs 37;" f foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 110;" f foldrWhileArb src/ListHelp.hs 110;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3613,8 +3600,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 331;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 337;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 318;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 324;" f
getDebugMouseOver src/Dodge/Update.hs 376;" f getDebugMouseOver src/Dodge/Update.hs 376;" f
getDistortions src/Dodge/Render.hs 435;" f getDistortions src/Dodge/Render.hs 435;" f
getEdgesCrossing src/Dodge/Path.hs 43;" f getEdgesCrossing src/Dodge/Path.hs 43;" f
@@ -3631,7 +3618,7 @@ getNodePos src/Dodge/Path.hs 40;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 314;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 320;" f
getRootItemBounds src/Dodge/Render/HUD.hs 100;" f getRootItemBounds src/Dodge/Render/HUD.hs 100;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3828,7 +3815,7 @@ invRootMap src/Dodge/Item/Grammar.hs 226;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 180;" f invSetSelection src/Dodge/Inventory.hs 180;" f
invSetSelectionPos src/Dodge/Inventory.hs 188;" f invSetSelectionPos src/Dodge/Inventory.hs 188;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 13;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f
invSize src/Dodge/Inventory/CheckSlots.hs 33;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f
inventoryX src/Dodge/Creature.hs 113;" f inventoryX src/Dodge/Creature.hs 113;" f
inverseSelNumPos src/Dodge/SelectionSections.hs 193;" f inverseSelNumPos src/Dodge/SelectionSections.hs 193;" f
@@ -3945,7 +3932,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 459;" f keyPic src/Dodge/Item/Draw/SPic.hs 459;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
lChasm src/Dodge/Room/Tutorial.hs 124;" f lChasm src/Dodge/Room/Tutorial.hs 130;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f
@@ -3987,6 +3974,7 @@ leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 197;" f leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f leftWristPQ src/Dodge/Creature/HandPos.hs 81;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f legsSPic src/Dodge/Item/Draw/SPic.hs 468;" f
lerpP2A src/Dodge/ShiftPoint.hs 14;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 112;" f liShape src/Dodge/Placement/Instance/LightSource.hs 112;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f lightSensByDoor src/Dodge/Room/LasTurret.hs 51;" f
@@ -4195,7 +4183,7 @@ mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f midBounds src/Dodge/Room/Foreground.hs 151;" f
midChasm src/Dodge/Room/Tutorial.hs 145;" f midChasm src/Dodge/Room/Tutorial.hs 151;" f
midPad src/Padding.hs 27;" f midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f midPoint src/Geometry.hs 83;" f
@@ -4240,10 +4228,9 @@ moveRoomBy src/Dodge/Room/Link.hs 53;" f
moveShockwave src/Dodge/Shockwave/Update.hs 13;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f
moveStuckGrenade src/Dodge/Projectile/Update.hs 196;" f moveStuckGrenade src/Dodge/Projectile/Update.hs 196;" f
moveToSideNthOutLink src/Dodge/Room/Warning.hs 69;" f moveToSideNthOutLink src/Dodge/Room/Warning.hs 69;" f
moveWall src/Dodge/Wall/Move.hs 29;" f moveWall src/Dodge/Wall/Move.hs 23;" f
moveWallID src/Dodge/Wall/Move.hs 24;" f moveWallID src/Dodge/Wall/Move.hs 18;" f
moveWallIDToward src/Dodge/Wall/Move.hs 47;" f moveWallIDUnsafe src/Dodge/Wall/Move.hs 13;" f
moveWallIDUnsafe src/Dodge/Wall/Move.hs 19;" f
moveZoomCamera src/Dodge/Update/Camera.hs 87;" f moveZoomCamera src/Dodge/Update/Camera.hs 87;" f
mtTopLabels src/Dodge/Tree/Compose.hs 50;" f mtTopLabels src/Dodge/Tree/Compose.hs 50;" f
mtUnderLabels src/Dodge/Tree/Compose.hs 53;" f mtUnderLabels src/Dodge/Tree/Compose.hs 53;" f
@@ -4262,13 +4249,11 @@ mvCr src/Dodge/Placement/PlaceSpot.hs 196;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 203;" f mvFS src/Dodge/Placement/PlaceSpot.hs 203;" f
mvGust src/Dodge/Update.hs 784;" f mvGust src/Dodge/Update.hs 784;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 275;" f mvLS src/Dodge/Placement/PlaceSpot.hs 275;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
mvPointToward src/Dodge/Base.hs 136;" f mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 190;" f mvProp src/Dodge/Placement/PlaceSpot.hs 190;" f
mvPs src/Dodge/Wall/Move.hs 58;" f
myIntersectLineLine src/Geometry/Intersect.hs 198;" f myIntersectLineLine src/Geometry/Intersect.hs 198;" f
myIntersectSegSeg src/Geometry/Intersect.hs 176;" f myIntersectSegSeg src/Geometry/Intersect.hs 176;" f
myParams src/Dodge/Combine/Graph.hs 101;" f myParams src/Dodge/Combine/Graph.hs 101;" f
@@ -4491,8 +4476,8 @@ pokeWall src/Shader/Poke.hs 78;" f
pokeWallsWindows src/Shader/Poke.hs 50;" f pokeWallsWindows src/Shader/Poke.hs 50;" f
poly3 src/Picture/Base.hs 84;" f poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 166;" f polyChasm src/Dodge/Room/Tutorial.hs 172;" f
polyChasmC src/Dodge/Room/Tutorial.hs 175;" f polyChasmC src/Dodge/Room/Tutorial.hs 181;" f
polyCirc src/Shape.hs 46;" f polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 61;" f polyCornerDist src/Geometry/Polygon.hs 61;" f
@@ -4680,7 +4665,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f
removeDot src/ShortShow.hs 44;" f removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 231;" f removeLights src/Dodge/Room/Tutorial.hs 237;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 58;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 58;" 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
@@ -4859,7 +4844,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 197;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 81;" f sensorSPic src/Dodge/Machine/Draw.hs 81;" f
sensorTut src/Dodge/Room/Tutorial.hs 340;" f sensorTut src/Dodge/Room/Tutorial.hs 346;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 81;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 81;" f
@@ -4886,7 +4871,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 67;" f setRoomInt src/Dodge/Room/Tutorial.hs 73;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f setShaderSource src/Shader/Compile.hs 290;" f
@@ -4896,7 +4881,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f
setTile src/Dodge/Layout.hs 70;" f setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f setTiles src/Dodge/Layout.hs 67;" f
setToggle src/Dodge/Prop/Update.hs 44;" f setToggle src/Dodge/Prop/Update.hs 44;" f
setTreeInts src/Dodge/Room/Tutorial.hs 74;" f setTreeInts src/Dodge/Room/Tutorial.hs 80;" f
setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 440;" f setViewport src/Dodge/Render.hs 440;" f
@@ -4948,8 +4933,8 @@ shiftLinkBy src/Dodge/Room/Link.hs 87;" f
shiftPSBy src/Dodge/Placement/Shift.hs 12;" f shiftPSBy src/Dodge/Placement/Shift.hs 12;" f
shiftPathBy src/Dodge/Room/Link.hs 92;" f shiftPathBy src/Dodge/Room/Link.hs 92;" f
shiftPlacement src/Dodge/Placement/Shift.hs 21;" f shiftPlacement src/Dodge/Placement/Shift.hs 21;" f
shiftPoint3By src/Dodge/ShiftPoint.hs 16;" f shiftPoint3By src/Dodge/ShiftPoint.hs 20;" f
shiftPointBy src/Dodge/ShiftPoint.hs 7;" f shiftPointBy src/Dodge/ShiftPoint.hs 8;" f
shiftPosDirBy src/Dodge/Room/Link.hs 84;" f shiftPosDirBy src/Dodge/Room/Link.hs 84;" f
shiftRelativeToPS src/Dodge/Placement/Shift.hs 18;" f shiftRelativeToPS src/Dodge/Placement/Shift.hs 18;" f
shiftRoomBy src/Dodge/Room/Link.hs 37;" f shiftRoomBy src/Dodge/Room/Link.hs 37;" f
@@ -5294,7 +5279,6 @@ translateToLeftHand src/Dodge/Creature/HandPos.hs 78;" f
translateToLeftLeg src/Dodge/Creature/HandPos.hs 97;" f translateToLeftLeg src/Dodge/Creature/HandPos.hs 97;" f
translateToRightHand src/Dodge/Creature/HandPos.hs 54;" f translateToRightHand src/Dodge/Creature/HandPos.hs 54;" f
translateToRightLeg src/Dodge/Creature/HandPos.hs 112;" f translateToRightLeg src/Dodge/Creature/HandPos.hs 112;" f
translateWallID src/Dodge/Wall/Move.hs 37;" f
translateXY src/Polyhedra.hs 26;" f translateXY src/Polyhedra.hs 26;" f
trapezionBWHW src/Geometry/Polygon.hs 26;" f trapezionBWHW src/Geometry/Polygon.hs 26;" f
treeAttachDeep src/TreeHelp.hs 193;" f treeAttachDeep src/TreeHelp.hs 193;" f
@@ -5335,12 +5319,12 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 37;" f turret src/Dodge/Placement/Instance/Turret.hs 37;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f
tutDrop src/Dodge/Room/Tutorial.hs 79;" f tutDrop src/Dodge/Room/Tutorial.hs 85;" f
tutHub src/Dodge/Room/Tutorial.hs 238;" f tutHub src/Dodge/Room/Tutorial.hs 244;" f
tutLight src/Dodge/Room/Tutorial.hs 203;" f tutLight src/Dodge/Room/Tutorial.hs 209;" f
tutRezBox src/Dodge/Room/Tutorial.hs 351;" f tutRezBox src/Dodge/Room/Tutorial.hs 357;" f
tutRoomTree src/Dodge/Floor.hs 21;" f tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 375;" f tutorialMessage1 src/Dodge/Room/Tutorial.hs 381;" f
tweenAngles src/Geometry/Vector.hs 190;" f tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f
@@ -5653,7 +5637,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 133;" f zChasm src/Dodge/Room/Tutorial.hs 139;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f