Simplify Prop drawing

This commit is contained in:
2025-10-25 13:54:40 +01:00
parent ff03efc41f
commit 7585531dd1
9 changed files with 73 additions and 201 deletions
+2 -19
View File
@@ -14,7 +14,7 @@ import ShapePicture.Data
data Prop = ShapeProp
{ _prPos :: Point2
, _prDraw :: PropDraw
, _prDraw :: SPic
, _prUpdate :: PropUpdate
, _prID :: Int
, _prRot :: Float
@@ -22,10 +22,7 @@ data Prop = ShapeProp
}
data DebrisType
= Gib
{ _gibSize :: Float
, _gibColor :: Color
}
= Gib { _gibSize :: Float , _gibColor :: Color }
| BlockDebris {_bdColor :: Color}
data Debris = DebrisChunk
@@ -36,15 +33,6 @@ data Debris = DebrisChunk
, _dbSpin :: Q.Quaternion Float
}
data PropDraw
= PropDrawFlatTranslate SPic
| PropDoubleLampCover Float
| PropVerticalLampCover Float
| PropLampCover Float
-- | PropDrawGib Float
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data PropUpdate
= PropUpdateId
| PropUpdateAnd PropUpdate PropUpdate
@@ -56,21 +44,16 @@ data PropUpdate
| PropUpdateWhen WdBl PropUpdate
| PropUpdateIf WdBl PropUpdate PropUpdate
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data PrWdLsLs
= PrWdLsId
| PrWdLsSetPosition WdP2f Point3
| PrWdLsSetColor Point3
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Prop
makeLenses ''Debris
makeLenses ''DebrisType
deriveJSON defaultOptions ''DebrisType
deriveJSON defaultOptions ''Debris
deriveJSON defaultOptions ''PropDraw
deriveJSON defaultOptions ''PrWdLsLs
deriveJSON defaultOptions ''PropUpdate
deriveJSON defaultOptions ''Prop
+1 -1
View File
@@ -7,7 +7,7 @@ defaultProp :: Prop
defaultProp =
ShapeProp
{ _prPos = V2 0 0
, _prDraw = PropDrawFlatTranslate mempty
, _prDraw = mempty
, _prID = 0
, _prUpdate = PropUpdateId
, _prToggle = True
-2
View File
@@ -1,7 +1,6 @@
module Dodge.Placement.Instance
( module Dodge.Placement.Instance.Door
, module Dodge.Placement.Instance.LightSource
, module Dodge.Placement.Instance.LightSource.Cover
, module Dodge.Placement.Instance.Wall
, module Dodge.Placement.Instance.Tank
, module Dodge.Placement.Instance.Button
@@ -14,7 +13,6 @@ module Dodge.Placement.Instance
where
import Dodge.Placement.Instance.Door
import Dodge.Placement.Instance.Tank
import Dodge.Placement.Instance.LightSource.Cover
import Dodge.Placement.Instance.LightSource
import Dodge.Placement.Instance.LightSource.Flicker
import Dodge.Placement.Instance.Wall
+1 -1
View File
@@ -57,7 +57,7 @@ moveLSThen posf off sh = propLSThen (PropUpdatePosition posf) (PrWdLsSetPosition
, _prRot = 0
, _prUpdate = PropUpdateId
, --, _prDraw = PropDrawSPic $ noPic $ uncurryV translateSHf (_prPos pr) $ rotateSH (_pjRot pr) sh
_prDraw = PropDrawFlatTranslate $ noPic sh
_prDraw = noPic sh
, _prToggle = True
}
@@ -1,43 +0,0 @@
module Dodge.Placement.Instance.LightSource.Cover where
import Dodge.Data.Prop
import Dodge.Data.WorldEffect
import Dodge.Default.Prop
import Geometry.Data
lampCover :: Float -> Prop
lampCover h =
ShapeProp
{ _prPos = V2 0 0
, _prID = 0
, _prRot = 0
, _prUpdate = PropRotate 0.15
, _prDraw = PropLampCover h
, _prToggle = True
}
lampCoverWhen :: WdBl -> Point2 -> Float -> Prop
lampCoverWhen cond pos h =
defaultProp
{ _prPos = pos
, _prUpdate = PropSetToggleAnd cond (PropRotate 0.15)
, _prDraw = PropLampCover h
, _prToggle = True
}
doubleLampCover :: Float -> Prop
doubleLampCover h =
defaultProp
{ _prPos = V2 0 0
, _prUpdate = PropRotate 0.15
, _prDraw = PropDoubleLampCover h
}
-- on the current (27/9/21) version of shadow stencilling, this glitches
-- slightly when the shadow rotates towards the screen
verticalLampCover :: Float -> Prop
verticalLampCover h =
defaultProp
{ _prUpdate = PropRotate 0.15
, _prDraw = PropVerticalLampCover h
}
+7 -62
View File
@@ -1,11 +1,12 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Prop.Draw (
propSPic,
debrisSPic,
) where
import Dodge.Block.Debris
import Control.Lens
import Dodge.Block.Debris
import Dodge.Data.Prop
import Geometry.Data
import Geometry.Polygon
@@ -15,21 +16,17 @@ import Shape
import ShapePicture
propSPic :: Prop -> SPic
propSPic pr = drawProp (_prDraw pr) pr
propSPic pr = drawProp pr
debrisSPic :: Debris -> SPic
debrisSPic db = translateSP (_dbPos db) . overPosSP (Q.rotate (_dbRot db)) $
case db ^. dbType of
case db ^. dbType of
Gib x col -> noPic $ drawGib x col
BlockDebris m -> noPic . colorSH m $ cubeShape 4
drawProp :: PropDraw -> Prop -> SPic
drawProp = \case
PropDoubleLampCover h -> drawDoubleLampCover h
PropVerticalLampCover h -> drawVerticalLampCover h
PropLampCover h -> drawLampCover h
PropDrawFlatTranslate x -> \pr ->
uncurryV translateSPxy (_prPos pr) $ rotateSP (_prRot pr) x
drawProp :: Prop -> SPic
drawProp pr =
uncurryV translateSPxy (_prPos pr) $ rotateSP (_prRot pr) $ pr ^. prDraw
drawGib :: Float -> Color -> Shape
drawGib x col = flesh <> skin
@@ -42,55 +39,3 @@ drawGib x col = flesh <> skin
translateSH (V3 1 1 (1 - x)) baseCube
baseCube = upperPrismPoly Small Typical (2 * x) $ square x
drawLampCover :: Float -> Prop -> SPic
drawLampCover h pr =
noPic
( translateSHz (h -2.5) . uncurryV translateSHxy (_prPos pr) $
rotateSH (_prRot pr) $
mconcat
[ aface 1 2 (-1)
, aface 1 (-1) 2
, aface 2 2 (-1)
, aface 2 (-1) 2
, upperPrismPoly Small Essential 1 [V2 2 2, V2 (-1) 2, V2 2 (-1)]
]
)
where
aface ztran s w = translateSHz ztran . upperPrismPoly Small Essential 1 $ rectNSWE 3 s w 3
drawVerticalLampCover :: Float -> Prop -> SPic
drawVerticalLampCover h pr =
noPic
( translateSHz h . uncurryV translateSHxy (_prPos pr)
. rotateSHx (_prRot pr)
. translateSHz (-3)
. upperPrismPoly Small Essential 1
$ rectNSWE 2 (-2) (-5) 5
)
--drawMovingShape :: Prop -> SPic -> SPic
--drawMovingShape pr =
-- translateSPz (_prPosZ pr)
-- . uncurryV translateSPxy (_prPos pr)
-- . overPosSP (Q.rotate (_prQuat pr))
--drawMovingShapeCol :: Prop -> Shape -> SPic
--drawMovingShapeCol pr =
-- noPic
-- . translateSHz (_prPosZ pr)
-- . uncurryV translateSHxy (_prPos pr)
-- . overPosSH (Q.rotate (_prQuat pr))
-- . colorSH (_prColor pr)
drawDoubleLampCover :: Float -> Prop -> SPic
drawDoubleLampCover h pr =
noPic
( translateSHz (h -2.5) . uncurryV translateSHxy (_prPos pr) $
rotateSH (_prRot pr) $
mconcat
[ upperPrismPoly Small Essential 5 $ rectNSWE 6 5 (-6) 6
, upperPrismPoly Small Essential 5 $ rectNSWE (-5) (-6) (-6) 6
, upperPrismPoly Small Essential 1 [V2 0 (-1), V2 6 5, V2 (-6) 5]
, upperPrismPoly Small Essential 1 [V2 0 1, V2 (-6) (-5), V2 6 (-5)]
]
)
+2 -9
View File
@@ -52,8 +52,8 @@ twinSlowDoorRoom w h x =
[ pContID (PS (V2 0 (h -5)) pi) (PutButton $ makeButton col NoWorldEffect) $
\btid -> jsps0J (putSlideDr (thedoor btid) thewall 1 (V2 x 1) (V2 x h)) $
ps0 (putSlideDr (thedoor btid) thewall 1 (V2 (- x) 1) (V2 (- x) h)) $
\did -> jps0' (PutLS (lsColPos (V3 0.75 0 0) (V3 0 (h -1) lampheight))) $
\lspl -> jsps0 $ PutProp $ addColorChange (fromJust $ _plMID lspl) did $ lampCoverWhen (WdBlDoorMoving did) (V2 0 (h -1)) lampheight
\_ -> jps0' (PutLS (lsColPos (V3 0.75 0 0) (V3 0 (h -1) lampheight))) $
\_ -> Nothing -- jsps0 $ PutProp $ addColorChange (fromJust $ _plMID lspl) did $ lampCoverWhen (WdBlDoorMoving did) (V2 0 (h -1)) lampheight
]
, _rmBound = ps
, _rmName = "twinSlowDoorRoom"
@@ -63,13 +63,6 @@ twinSlowDoorRoom w h x =
--thewall = switchWallCol red
thewall = defaultDoorWall
wlSpeed = 0.5
addColorChange lsid drid =
over prUpdate $
PropUpdateAnd $
PropUpdateIf
(WdBlDoorMoving drid)
(PropUpdateLS lsid (PrWdLsSetColor (V3 8 0 0)))
(PropUpdateLS lsid (PrWdLsSetColor 0.7))
lampheight = 41
ps =
[ rectNSWE h 0 (- w) w
+2 -2
View File
@@ -46,7 +46,8 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward airlock90
-- , return $ tToBTree "cor" $ return $ cleatOnward airlock90
, return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40)
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward airlock0
, return $ tToBTree "cor" $ return $ cleatOnward corridor
@@ -62,7 +63,6 @@ tutAnoTree = do
, return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward (twinSlowDoorRoom 80 200 40)
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
-- , return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
+58 -62
View File
@@ -127,7 +127,7 @@ BlConst src/Dodge/Data/BlBl.hs 11;" C
BlId src/Dodge/Data/BlBl.hs 12;" C
BlNegate src/Dodge/Data/BlBl.hs 10;" C
Block src/Dodge/Data/Block.hs 20;" t
BlockDebris src/Dodge/Data/Prop.hs 29;" C
BlockDebris src/Dodge/Data/Prop.hs 26;" C
BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 30;" C
BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C
BlockedLink src/Dodge/Data/Room.hs 50;" C
@@ -305,8 +305,8 @@ DamageHitSound src/Dodge/Data/SoundOrigin.hs 40;" C
DamageLaser src/Dodge/Data/Laser.hs 15;" C
DamageSensor src/Dodge/Data/Machine/Sensor.hs 19;" t
DamageType src/Dodge/Data/Damage/Type.hs 3;" t
Debris src/Dodge/Data/Prop.hs 31;" t
DebrisChunk src/Dodge/Data/Prop.hs 31;" C
Debris src/Dodge/Data/Prop.hs 28;" t
DebrisChunk src/Dodge/Data/Prop.hs 28;" C
DebrisType src/Dodge/Data/Prop.hs 24;" t
DebugBool src/Dodge/Data/Config.hs 66;" t
DebugItem src/Dodge/Data/Universe.hs 57;" t
@@ -984,10 +984,10 @@ Polyhedron src/Polyhedra/Data.hs 13;" C
PosInf src/Dodge/Data/CardinalPoint.hs 36;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 33;" t
PrWdLsId src/Dodge/Data/Prop.hs 65;" C
PrWdLsLs src/Dodge/Data/Prop.hs 64;" t
PrWdLsSetColor src/Dodge/Data/Prop.hs 67;" C
PrWdLsSetPosition src/Dodge/Data/Prop.hs 66;" C
PrWdLsId src/Dodge/Data/Prop.hs 59;" C
PrWdLsLs src/Dodge/Data/Prop.hs 58;" t
PrWdLsSetColor src/Dodge/Data/Prop.hs 61;" C
PrWdLsSetPosition src/Dodge/Data/Prop.hs 60;" C
PreloadData src/Data/Preload.hs 10;" t
PrimitiveMode src/Shader/Data.hs 99;" t
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
@@ -997,22 +997,21 @@ ProjectileParams src/Dodge/Data/Item/Use.hs 51;" C
ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 36;" C
ProjectileType src/Dodge/Data/Projectile.hs 30;" t
Prop src/Dodge/Data/Prop.hs 15;" t
PropDoubleLampCover src/Dodge/Data/Prop.hs 44;" C
PropDraw src/Dodge/Data/Prop.hs 41;" t
PropDrawFlatTranslate src/Dodge/Data/Prop.hs 43;" C
PropDrawSPic src/Dodge/Data/Prop.hs 42;" C
PropLampCover src/Dodge/Data/Prop.hs 46;" C
PropRotate src/Dodge/Data/Prop.hs 54;" C
PropSetToggleAnd src/Dodge/Data/Prop.hs 55;" C
PropUpdate src/Dodge/Data/Prop.hs 51;" t
PropUpdateAnd src/Dodge/Data/Prop.hs 53;" C
PropUpdateId src/Dodge/Data/Prop.hs 52;" C
PropUpdateIf src/Dodge/Data/Prop.hs 60;" C
PropUpdateLS src/Dodge/Data/Prop.hs 57;" C
PropUpdatePosition src/Dodge/Data/Prop.hs 58;" C
PropUpdateWhen src/Dodge/Data/Prop.hs 59;" C
PropUpdates src/Dodge/Data/Prop.hs 56;" C
PropVerticalLampCover src/Dodge/Data/Prop.hs 45;" C
PropDoubleLampCover src/Dodge/Data/Prop.hs 38;" C
PropDraw src/Dodge/Data/Prop.hs 36;" t
PropDrawFlatTranslate src/Dodge/Data/Prop.hs 37;" C
PropLampCover src/Dodge/Data/Prop.hs 40;" C
PropRotate src/Dodge/Data/Prop.hs 48;" C
PropSetToggleAnd src/Dodge/Data/Prop.hs 49;" C
PropUpdate src/Dodge/Data/Prop.hs 45;" t
PropUpdateAnd src/Dodge/Data/Prop.hs 47;" C
PropUpdateId src/Dodge/Data/Prop.hs 46;" C
PropUpdateIf src/Dodge/Data/Prop.hs 54;" C
PropUpdateLS src/Dodge/Data/Prop.hs 51;" C
PropUpdatePosition src/Dodge/Data/Prop.hs 52;" C
PropUpdateWhen src/Dodge/Data/Prop.hs 53;" C
PropUpdates src/Dodge/Data/Prop.hs 50;" C
PropVerticalLampCover src/Dodge/Data/Prop.hs 39;" C
ProxSensor src/Dodge/Data/Machine/Sensor.hs 25;" C
ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 34;" t
ProximitySensor src/Dodge/Data/Machine/Sensor.hs 25;" t
@@ -1521,7 +1520,7 @@ _avatarMaterial src/Dodge/Data/Creature/Misc.hs 61;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 60;" f
_barrelShader src/Data/Preload/Render.hs 23;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 71;" f
_bdColor src/Dodge/Data/Prop.hs 29;" f
_bdColor src/Dodge/Data/Prop.hs 26;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f
_bdMaxY src/Dodge/Data/Bounds.hs 14;" f
_bdMinX src/Dodge/Data/Bounds.hs 11;" f
@@ -1692,11 +1691,11 @@ _cwgRoomClipping src/Dodge/Data/CWorld.hs 40;" f
_cwgSeed src/Dodge/Data/CWorld.hs 41;" f
_cwgWorldBounds src/Dodge/Data/CWorld.hs 38;" f
_cylinderSize src/Shape/Data.hs 14;" f
_dbPos src/Dodge/Data/Prop.hs 32;" f
_dbRot src/Dodge/Data/Prop.hs 35;" f
_dbSpin src/Dodge/Data/Prop.hs 36;" f
_dbType src/Dodge/Data/Prop.hs 33;" f
_dbVel src/Dodge/Data/Prop.hs 34;" f
_dbPos src/Dodge/Data/Prop.hs 29;" f
_dbRot src/Dodge/Data/Prop.hs 32;" f
_dbSpin src/Dodge/Data/Prop.hs 33;" f
_dbType src/Dodge/Data/Prop.hs 30;" f
_dbVel src/Dodge/Data/Prop.hs 31;" f
_debris src/Dodge/Data/LWorld.hs 99;" f
_debugFunction src/Dodge/Data/Universe.hs 59;" f
_debugMessage src/Dodge/Data/Universe.hs 58;" f
@@ -1797,11 +1796,9 @@ _floorItems src/Dodge/Data/LWorld.hs 125;" f
_floorShader src/Data/Preload/Render.hs 44;" f
_floorVBO src/Data/Preload/Render.hs 43;" f
_foreShapes src/Dodge/Data/LWorld.hs 130;" f
_fsDir src/Dodge/Data/ForegroundShape.hs 15;" f
_fsID src/Dodge/Data/ForegroundShape.hs 13;" f
_fsPos src/Dodge/Data/ForegroundShape.hs 14;" f
_fsRad src/Dodge/Data/ForegroundShape.hs 16;" f
_fsSPic src/Dodge/Data/ForegroundShape.hs 17;" f
_fsDir src/Dodge/Data/ForegroundShape.hs 14;" f
_fsPos src/Dodge/Data/ForegroundShape.hs 13;" f
_fsSPic src/Dodge/Data/ForegroundShape.hs 15;" f
_fullscreenShader src/Data/Preload/Render.hs 20;" f
_futureWorlds src/Dodge/Data/World.hs 67;" f
_futureWorlds src/Dodge/Data/World.hs 73;" f
@@ -1816,8 +1813,8 @@ _getSoundID src/Sound/Data.hs 30;" f
_gfConstant src/Dodge/Data/GenFloat.hs 9;" f
_gfMax src/Dodge/Data/GenFloat.hs 10;" f
_gfMin src/Dodge/Data/GenFloat.hs 10;" f
_gibColor src/Dodge/Data/Prop.hs 27;" f
_gibSize src/Dodge/Data/Prop.hs 26;" f
_gibColor src/Dodge/Data/Prop.hs 25;" f
_gibSize src/Dodge/Data/Prop.hs 25;" f
_gnHitEffect src/Dodge/Data/Projectile.hs 31;" f
_grBound src/Dodge/GameRoom.hs 15;" f
_grDir src/Dodge/GameRoom.hs 17;" f
@@ -2491,7 +2488,7 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f
addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f
addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f
addIndefiniteArticle src/StringHelp.hs 17;" f
addPane src/Dodge/Placement/PlaceSpot.hs 180;" f
addPane src/Dodge/Placement/PlaceSpot.hs 176;" f
addPointPolygon src/Geometry/Polygon.hs 134;" f
addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f
addPolyWalls src/Dodge/LevelGen/StaticWalls.hs 129;" f
@@ -2614,7 +2611,7 @@ bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 516;" f
bangRod src/Dodge/Item/Held/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f
bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barPP src/Dodge/Room/Foreground.hs 231;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 80;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f
@@ -3021,7 +3018,7 @@ deadRot src/Dodge/Creature/Picture.hs 84;" f
deadScalp src/Dodge/Creature/Picture.hs 81;" f
deadUpperBody src/Dodge/Creature/Picture.hs 113;" f
debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f
debrisSPic src/Dodge/Prop/Draw.hs 20;" f
debrisSPic src/Dodge/Prop/Draw.hs 21;" f
debrisSize src/Dodge/Block/Debris.hs 84;" f
debugEvent src/Dodge/Debug.hs 36;" f
debugEvents src/Dodge/Debug.hs 21;" f
@@ -3271,7 +3268,7 @@ drawFlame src/Dodge/Flame/Draw.hs 8;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f
drawForceField src/Dodge/Wall/Draw.hs 13;" f
drawGapPlus src/Dodge/Render/Picture.hs 280;" f
drawGib src/Dodge/Prop/Draw.hs 37;" f
drawGib src/Dodge/Prop/Draw.hs 38;" f
drawHUD src/Dodge/Render/HUD.hs 51;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f
drawInspectWall src/Dodge/Debug/Picture.hs 253;" f
@@ -3282,7 +3279,7 @@ drawItemConnections src/Dodge/Render/HUD.hs 319;" f
drawJumpDown src/Dodge/Render/Picture.hs 192;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLabelledList src/Dodge/Render/List.hs 212;" f
drawLampCover src/Dodge/Prop/Draw.hs 48;" f
drawLampCover src/Dodge/Prop/Draw.hs 49;" f
drawLaser src/Dodge/Laser/Update.hs 29;" f
drawLightSource src/Dodge/LightSource/Draw.hs 7;" f
drawLinearShockwave src/Dodge/LinearShockwave/Draw.hs 10;" f
@@ -3307,7 +3304,7 @@ drawPathing src/Dodge/Debug/Picture.hs 403;" f
drawPlus src/Dodge/Render/Picture.hs 165;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 26;" f
drawProp src/Dodge/Prop/Draw.hs 27;" f
drawProxSensor src/Dodge/Machine/Draw.hs 37;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 63;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 147;" f
@@ -3585,9 +3582,9 @@ getWallPathing src/Dodge/Wall/Pathing.hs 7;" f
getWallSPic src/Dodge/Render/Walls.hs 53;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f
girder src/Dodge/Room/Foreground.hs 211;" f
girderV src/Dodge/Room/Foreground.hs 182;" f
girderV' src/Dodge/Room/Foreground.hs 157;" f
girder src/Dodge/Room/Foreground.hs 206;" f
girderV src/Dodge/Room/Foreground.hs 177;" f
girderV' src/Dodge/Room/Foreground.hs 153;" f
girderZ src/Dodge/Room/Foreground.hs 108;" f
glNamedBufferSubDataH src/Shader/Bind.hs 53;" f
glassLesson src/Dodge/Room/GlassLesson.hs 23;" f
@@ -4137,7 +4134,7 @@ metalPlate src/Dodge/Item/Craftable.hs 35;" f
mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 151;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 172;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
@@ -4200,16 +4197,16 @@ muout src/Dodge/RoomLink.hs 144;" f
muzFlareAt src/Dodge/HeldUse.hs 678;" f
muzzlePos src/Dodge/HeldUse.hs 769;" f
muzzleRandPos src/Dodge/HeldUse.hs 778;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 188;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 191;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 198;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 184;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 187;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 194;" f
mvGust src/Dodge/Update.hs 784;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 233;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 229;" f
mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f
mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f
mvPointToward src/Dodge/Base.hs 136;" f
mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 185;" f
mvProp src/Dodge/Placement/PlaceSpot.hs 181;" f
myIntersectLineLine src/Geometry/Intersect.hs 198;" f
myIntersectSegSeg src/Geometry/Intersect.hs 176;" f
myParams src/Dodge/Combine/Graph.hs 101;" f
@@ -4346,20 +4343,20 @@ pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f
plBlock src/Dodge/Placement/PlaceSpot/Block.hs 20;" f
plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 12;" f
plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 53;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 201;" f
plMachine src/Dodge/Placement/PlaceSpot.hs 197;" f
plNew src/Dodge/Base/NewID.hs 19;" f
plNewID src/Dodge/Base/NewID.hs 7;" f
plNewUpID src/Dodge/Base/NewID.hs 13;" f
plNewUsing src/Dodge/Base/NewID.hs 27;" f
plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 159;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 228;" f
placeChasm src/Dodge/Placement/PlaceSpot.hs 155;" f
placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 224;" f
placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 43;" f
placeSpot src/Dodge/Placement/PlaceSpot.hs 34;" f
placeSpotID src/Dodge/Placement/PlaceSpot.hs 105;" f
placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 90;" f
placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 68;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 175;" f
placeWallPoly src/Dodge/Placement/PlaceSpot.hs 171;" f
plainRegex src/Dodge/DisplayInventory.hs 189;" f
playIfFree src/Sound.hs 137;" f
playPositionalSoundQueue src/Sound.hs 145;" f
@@ -4482,7 +4479,7 @@ prismPoly src/Shape.hs 59;" f
projV src/Geometry/Vector.hs 177;" f
projV3 src/Geometry/Vector3D.hs 127;" f
propLSThen src/Dodge/Placement/Instance/LightSource.hs 29;" f
propSPic src/Dodge/Prop/Draw.hs 17;" f
propSPic src/Dodge/Prop/Draw.hs 18;" f
propSetToggleAnd src/Dodge/Prop/Update.hs 39;" f
propUpdateIf src/Dodge/Prop/Update.hs 23;" f
propUpdatePosition src/Dodge/Prop/Update.hs 28;" f
@@ -4531,8 +4528,8 @@ putTerminal src/Dodge/Placement/Instance/Terminal.hs 54;" f
putTerminalFull src/Dodge/Placement/Instance/Terminal.hs 22;" f
putTerminalImediateAccess src/Dodge/Placement/Instance/Terminal.hs 17;" f
putTurret src/Dodge/Placement/Instance/Turret.hs 11;" f
putWireEnd src/Dodge/Wire.hs 31;" f
putWireStart src/Dodge/Wire.hs 34;" f
putWireEnd src/Dodge/Wire.hs 29;" f
putWireStart src/Dodge/Wire.hs 32;" f
qID src/Quaternion.hs 58;" f
qToAng src/Quaternion.hs 55;" f
qToV2 src/Quaternion.hs 52;" f
@@ -4544,7 +4541,6 @@ qz src/Quaternion.hs 67;" f
rLauncher src/Dodge/Item/Held/Launcher.hs 14;" f
rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f
rToOnward src/Dodge/Cleat.hs 21;" f
radBounds src/Dodge/Room/Foreground.hs 154;" f
radToDeg src/Geometry/Vector.hs 123;" f
randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f
randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f
@@ -4858,8 +4854,8 @@ setupWorldBounds src/Dodge/Layout.hs 116;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f
shaderTypeExt src/Shader/Compile.hs 172;" f
shapeBounds src/Dodge/Room/Foreground.hs 148;" f
shapePoints src/Dodge/Room/Foreground.hs 145;" f
shapeBounds src/Dodge/Room/Foreground.hs 147;" f
shapePoints src/Dodge/Room/Foreground.hs 144;" f
shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
@@ -5477,7 +5473,7 @@ vertTrans src/MatrixHelper.hs 87;" f
verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f
verticalWire src/Dodge/Wire.hs 23;" f
vgunMuzzles src/Dodge/HeldUse.hs 341;" f
viewBoundaries src/Dodge/Debug/Picture.hs 327;" f
viewClipBounds src/Dodge/Debug/Picture.hs 336;" f