Simplify buttons

This commit is contained in:
2025-06-25 21:37:32 +01:00
parent 6e9d4918a1
commit a9cae4d409
13 changed files with 130 additions and 140 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -10,13 +10,13 @@ import Control.Lens
drawButton :: Button -> SPic
drawButton bt = case bt ^. btEvent of
ButtonPress {_bpColor = col} -> defaultDrawButton col bt
ButtonSimpleSwith {_bssColor1 = col1, _bssColor2 = col2} -> drawSwitch col1 col2 bt
ButtonSwitch {_bsColor1 = col1, _bsColor2 = col2} -> drawSwitch col1 col2 bt
ButtonAccessTerminal -> mempty
ButtonDoNothing -> mempty
drawSwitch :: Color -> Color -> Button -> SPic
drawSwitch col1 col2 bt
| _btState bt == BtOff = flick $ pi / 4
| bt ^? btEvent . btOn == Just False = flick $ pi / 4
| otherwise = flick (negate (pi / 4))
where
flick a = noPic
@@ -33,6 +33,6 @@ defaultDrawButton col bt = noPic
)
where
buttonGeometry
| _btState bt == BtOff = rectNSWE 10 (-1) (- width) width
| bt ^? btEvent . btOn == Just False = rectNSWE 10 (-1) (- width) width
| otherwise = rectNSWE 2 (-1) (- width) width
width = 8
+10 -13
View File
@@ -9,26 +9,23 @@ import Dodge.WorldEffect
doButtonEvent :: ButtonEvent -> Button -> World -> World
doButtonEvent be = case be of
ButtonDoNothing -> const id
ButtonPress newstate newevent thesound f c -> \b ->
ButtonPress True _ _ -> const id
ButtonPress False f _ -> \b ->
doWdWd f
. set (cWorld . lWorld . buttons . ix (_btID b) . btState) newstate
. set (cWorld . lWorld . buttons . ix (_btID b) . btEvent) newevent
. soundStart (LeverSound 0) (_btPos b) thesound Nothing
--ButtonSwitch onstate onevent onsound oneff offstate offevent offsound offeff -> undefined
ButtonSimpleSwith oneff offeff _ _ -> flipSwitch oneff offeff
. set (cWorld . lWorld . buttons . ix (_btID b) . btEvent . btOn) True
. soundStart (LeverSound 0) (_btPos b) click1S Nothing
ButtonSwitch oneff offeff _ _ _ -> flipSwitch oneff offeff
ButtonAccessTerminal -> accessTerminal . _btTermMID
flipSwitch :: WdWd -> WdWd -> Button -> World -> World
flipSwitch oneff offeff bt
| _btState bt == BtOff =
doWdWd oneff . dosound
. over (cWorld . lWorld . buttons . ix (_btID bt)) turnon
| otherwise =
| _btOn (_btEvent bt) =
doWdWd offeff . dosound
. over (cWorld . lWorld . buttons . ix (_btID bt)) turnoff
. set (cWorld . lWorld . buttons . ix (_btID bt) . btEvent . btOn) False
| otherwise =
doWdWd oneff . dosound
. set (cWorld . lWorld . buttons . ix (_btID bt) . btEvent . btOn) True
where
turnon = (btState .~ BtOn)
turnoff = (btState .~ BtOff)
dosound = soundWithStatus ToStart (LeverSound 0) (_btPos bt) click1S Nothing
-- switchEffect b = case _btState b of
+9 -17
View File
@@ -11,28 +11,20 @@ import Data.Aeson
import Data.Aeson.TH
import Dodge.Data.WorldEffect
import Geometry.Data
import Sound.Data
--data ButtonDraw
-- = DefaultDrawButton Color
-- | DefaultDrawSwitch Color Color
-- | DrawNoButton
-- --deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ButtonEvent
= ButtonDoNothing
| ButtonPress
{ _bpState :: ButtonState
, _bpEvent :: ButtonEvent
, _bpSound :: SoundID
{ _btOn :: Bool
, _bpEff :: WdWd
, _bpColor :: Color
}
| ButtonSimpleSwith
| ButtonSwitch
{ _bonEff :: WdWd
, _boffEff :: WdWd
, _bssColor1 :: Color
, _bssColor2 :: Color
, _bsColor1 :: Color
, _bsColor2 :: Color
, _btOn :: Bool
}
| ButtonAccessTerminal
--deriving (Eq, Show, Read) --, Generic)
@@ -46,7 +38,7 @@ data Button = Button
, _btEvent :: ButtonEvent --Button -> World -> World
, _btID :: Int
-- , _btText :: String
, _btState :: ButtonState
-- , _btState :: ButtonState
, _btTermMID :: Maybe Int
, _btName :: String
, _btColor :: Color
@@ -54,12 +46,12 @@ data Button = Button
--deriving (Eq, Show, Read) --, Generic)
--h--deriving (Eq, Show, Read) --Generic, Flat)
data ButtonState = BtOn | BtOff | BtInactive
deriving Eq -- (Eq, Ord, Show, Read) --Generic, Flat)
--data ButtonState = BtOn | BtOff | BtInactive
-- deriving Eq -- (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Button
makeLenses ''ButtonEvent
--deriveJSON defaultOptions ''ButtonDraw
deriveJSON defaultOptions ''ButtonState
--deriveJSON defaultOptions ''ButtonState
deriveJSON defaultOptions ''ButtonEvent
deriveJSON defaultOptions ''Button
+1 -1
View File
@@ -55,7 +55,7 @@ data WdBl
| WdBlNegate WdBl
| WdBlCrFilterNearPoint Float Point2 CrBl
| WdBlBtOn Int
| WdBlBtNotOff Int
-- | WdBlBtNotOff Int
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data WdP2f
+2 -4
View File
@@ -18,7 +18,6 @@ import Dodge.Default.Creature
import Dodge.Default.Item
import Dodge.Default.Terminal
import Dodge.Default.Wall
import Dodge.SoundLogic
import Geometry
import Picture
@@ -51,10 +50,9 @@ defaultButton =
Button
{ _btPos = V2 0 0
, _btRot = 0
, _btEvent = ButtonPress BtInactive ButtonDoNothing click1S NoWorldEffect
(dark red)
, _btEvent = ButtonPress False NoWorldEffect (dark red)
, _btID = 0
, _btState = BtOff
-- , _btState = BtOff
, _btTermMID = Nothing
, _btName = ""
, _btColor = red
+1 -1
View File
@@ -130,7 +130,7 @@ updateCloseObjects w =
isclose pos = dist ypos pos < 40 && hasButtonLOS ypos pos w
ypos = _crPos $ you w
activeButtons =
filter ((/=) BtInactive . _btState)
filter ((/= Just True) . (^? btEvent . btOn))
. IM.elems
$ w ^. cWorld . lWorld . buttons
+3 -4
View File
@@ -234,10 +234,9 @@ btText :: Button -> String
btText bt = case _btEvent bt of
ButtonDoNothing -> "UNPRESSABLE BUTTON"
ButtonPress {} -> "BUTTON"
ButtonSimpleSwith {} -> case _btState bt of
BtOn -> "SWITCH\\"
BtOff -> "SWITCH/"
BtInactive -> "INACTIVE SWITCH"
ButtonSwitch {_btOn = t} -> case t of
True -> "SWITCH\\"
False -> "SWITCH/"
ButtonAccessTerminal -> "TERMINAL"
closeItemToTextPictures :: FloorItem -> ([String], Color)
+51 -43
View File
@@ -1,55 +1,63 @@
module Dodge.LevelGen.Switch
( makeSwitch
, makeButton
, makeSwitchSPic
, drawSwitchWire
) where
module Dodge.LevelGen.Switch (
makeSwitch,
makeButton,
makeSwitchSPic,
drawSwitchWire,
) where
import Dodge.Data.Button
import Dodge.Data.WorldEffect
import Dodge.Default
import Dodge.SoundLogic
import Picture
import ShapePicture
import Shape
import Geometry
import Picture
import Shape
import ShapePicture
import Control.Lens
makeButton
:: Color
-> WdWd -- ^ Effect when pressed
-> Button
makeButton col eff = defaultButton
{ _btEvent = ButtonPress BtInactive ButtonDoNothing click1S eff col
, _btState = BtOff
}
makeButton ::
Color ->
-- | Effect when pressed
WdWd ->
Button
makeButton col eff =
defaultButton
{ -- { _btEvent = ButtonPress BtInactive ButtonDoNothing click1S eff col
_btEvent = ButtonPress False eff col
-- , _btState = BtOff
}
-- TODO remove duplication
drawSwitchWire :: Color -> Color -> Button -> SPic
drawSwitchWire col1 col2 bt
| _btState bt == BtOff = flick $ pi/4
| otherwise = flick (negate (pi/4))
| bt ^? btEvent . btOn == Just False = flick $ pi / 4
| otherwise = flick (negate (pi / 4))
where
flick a = noPic ( mconcat
[ colorSH col1 . translateSHz 10 . upperBox Small Typical 10 $ rectNSWE (-2) (-5) (-10) 10
, colorSH col2 . translateSH (V3 0 (-2) 15) . rotateSH a . upperBox Small Typical 2
$ rectNSWE 10 0 (-2) 2
]
)
flick a =
noPic
( mconcat
[ colorSH col1 . translateSHz 10 . upperBox Small Typical 10 $ rectNSWE (-2) (-5) (-10) 10
, colorSH col2 . translateSH (V3 0 (-2) 15) . rotateSH a . upperBox Small Typical 2 $
rectNSWE 10 0 (-2) 2
]
)
makeSwitchSPic
:: Color
-> Color
-> WdWd -- ^ Switch on effect
-> WdWd -- ^ Switch off effect
-> Button
makeSwitchSPic c1 c2 effOn effOff = defaultButton
{ _btEvent = ButtonSimpleSwith effOn effOff c1 c2
, _btState = BtOff
}
makeSwitch
:: Color
-> Color
-> WdWd -- ^ Switch on effect
-> WdWd -- ^ Switch off effect
-> Button
makeSwitchSPic ::
Color ->
Color ->
-- | Switch on effect
WdWd ->
-- | Switch off effect
WdWd ->
Button
makeSwitchSPic c1 c2 effOn effOff =
defaultButton & btEvent .~ ButtonSwitch effOn effOff c1 c2 False
makeSwitch ::
Color ->
Color ->
-- | Switch on effect
WdWd ->
-- | Switch off effect
WdWd ->
Button
makeSwitch col1 col2 = makeSwitchSPic col1 col2
-1
View File
@@ -55,7 +55,6 @@ termButton =
, _btRot = 0
, _btEvent = ButtonAccessTerminal
, _btID = 0
, _btState = BtOff
, _btTermMID = Nothing
, _btName = ""
, _btColor = dark magenta
+4 -2
View File
@@ -73,7 +73,8 @@ twinSlowDoorRoom w h x =
thedoor btid =
defaultDoor
& drSpeed .~ wlSpeed
& drTrigger .~ WdBlBtNotOff btid
-- & drTrigger .~ WdBlBtNotOff btid
& drTrigger .~ WdBlBtOn btid
col = dim $ dim $ bright red
twinSlowDoorChasers :: RandomGen g => State g Room
@@ -134,7 +135,8 @@ addButtonSlowDoor x h rm = do
putDoubleDoorThen
DoorObstacle
thewall
(WdBlBtNotOff $ fromJust $ _plMID btplmnt)
-- (WdBlBtNotOff $ fromJust $ _plMID btplmnt)
(WdBlBtOn $ fromJust $ _plMID btplmnt)
30
(V2 0 h)
(V2 x h)
+2 -4
View File
@@ -15,8 +15,6 @@ doWdBl wb w = case wb of
dr <- w ^? cWorld . lWorld . doors . ix i
return (DoorHalfway == _drStatus dr)
WdBlCrFilterNearPoint r p t -> any (crNearPoint r p) (IM.filter (doCrBl t) (w ^. cWorld . lWorld . creatures))
--WdBlBtOn btid -> _btState (_buttons (_cWorld w) IM.! btid) == BtOn -- unsafe
WdBlBtOn btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) == BtOn -- unsafe
--WdBlBtNotOff btid -> _btState (_buttons (_cWorld w) IM.! btid) /= BtOff -- unsafe
WdBlBtNotOff btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) /= BtOff -- unsafe
WdBlBtOn btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btEvent . btOn) -- unsafe
-- WdBlBtNotOff btid -> (w ^?! cWorld . lWorld . buttons . ix btid . btState) /= BtOff -- unsafe
WdBlNegate x -> not $ doWdBl x w
+43 -46
View File
@@ -215,9 +215,9 @@ Branch src/Dodge/Room/Branch.hs 4;" m
Breather src/Dodge/Room/Breather.hs 1;" m
BrigSS src/Dodge/Data/Scenario.hs 102;" C
Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" C
BtInactive src/Dodge/Data/Button.hs 63;" C
BtOff src/Dodge/Data/Button.hs 63;" C
BtOn src/Dodge/Data/Button.hs 63;" C
BtInactive src/Dodge/Data/Button.hs 51;" C
BtOff src/Dodge/Data/Button.hs 51;" C
BtOn src/Dodge/Data/Button.hs 51;" C
BulBall src/Dodge/Data/Bullet.hs 37;" C
BulFlak src/Dodge/Data/Bullet.hs 39;" C
BulFrag src/Dodge/Data/Bullet.hs 40;" C
@@ -239,16 +239,15 @@ BulletPayload src/Dodge/Data/Bullet.hs 36;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
BurstTrigger src/Dodge/Data/TriggerType.hs 14;" C
Button src/Dodge/Data/Button.hs 48;" t
Button src/Dodge/Data/Button.hs 35;" t
Button src/Dodge/Data/Button.hs 6;" m
Button src/Dodge/Placement/Instance/Button.hs 1;" m
ButtonAccessTerminal src/Dodge/Data/Button.hs 44;" C
ButtonDoNothing src/Dodge/Data/Button.hs 23;" C
ButtonDraw src/Dodge/Data/Button.hs 16;" t
ButtonEvent src/Dodge/Data/Button.hs 22;" t
ButtonPress src/Dodge/Data/Button.hs 24;" C
ButtonSimpleSwith src/Dodge/Data/Button.hs 40;" C
ButtonState src/Dodge/Data/Button.hs 63;" t
ButtonAccessTerminal src/Dodge/Data/Button.hs 31;" C
ButtonDoNothing src/Dodge/Data/Button.hs 17;" C
ButtonEvent src/Dodge/Data/Button.hs 16;" t
ButtonPress src/Dodge/Data/Button.hs 18;" C
ButtonSimpleSwith src/Dodge/Data/Button.hs 25;" C
ButtonState src/Dodge/Data/Button.hs 51;" t
CAMERA src/Dodge/Data/Item/Combine.hs 75;" C
CAN src/Dodge/Data/Item/Combine.hs 56;" C
CDoNothing src/Dodge/Data/Item/HeldUse.hs 15;" C
@@ -493,8 +492,6 @@ DecorationShape src/Dodge/Data/GenParams.hs 20;" t
Default src/Dodge/Default.hs 7;" m
Default src/Dodge/Tesla/Arc/Default.hs 1;" m
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
DefaultDrawButton src/Dodge/Data/Button.hs 17;" C
DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C
DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C
DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C
DefaultRoomType src/Dodge/Data/Room.hs 31;" C
@@ -579,7 +576,6 @@ Draw src/Dodge/Tesla/Draw.hs 1;" m
Draw src/Dodge/TractorBeam/Draw.hs 1;" m
Draw src/Dodge/Wall/Draw.hs 1;" m
DrawForceField src/Dodge/Data/Wall.hs 47;" C
DrawNoButton src/Dodge/Data/Button.hs 19;" C
DrawnWall src/Dodge/Data/Wall.hs 43;" C
Drone src/Dodge/Item/Weapon/Drone.hs 1;" m
DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C
@@ -2313,23 +2309,23 @@ _bmPoints src/Dodge/Data/Beam.hs 24;" f
_bmPos src/Dodge/Data/Beam.hs 20;" f
_bmRange src/Dodge/Data/Beam.hs 26;" f
_bmType src/Dodge/Data/Beam.hs 29;" f
_boffEff src/Dodge/Data/Button.hs 42;" f
_bonEff src/Dodge/Data/Button.hs 41;" f
_boffEff src/Dodge/Data/Button.hs 27;" f
_bonEff src/Dodge/Data/Button.hs 26;" f
_bounceTolerance src/Dodge/Data/Projectile.hs 57;" f
_bpEff src/Dodge/Data/Button.hs 28;" f
_bpEvent src/Dodge/Data/Button.hs 26;" f
_bpSound src/Dodge/Data/Button.hs 27;" f
_bpState src/Dodge/Data/Button.hs 25;" f
_btColor src/Dodge/Data/Button.hs 58;" f
_btEvent src/Dodge/Data/Button.hs 52;" f
_btID src/Dodge/Data/Button.hs 53;" f
_btName src/Dodge/Data/Button.hs 57;" f
_btPict src/Dodge/Data/Button.hs 49;" f
_btPos src/Dodge/Data/Button.hs 50;" f
_btRot src/Dodge/Data/Button.hs 51;" f
_btState src/Dodge/Data/Button.hs 55;" f
_btTermMID src/Dodge/Data/Button.hs 56;" f
_btText src/Dodge/Data/Button.hs 54;" f
_bpColor src/Dodge/Data/Button.hs 23;" f
_bpEff src/Dodge/Data/Button.hs 22;" f
_bpSound src/Dodge/Data/Button.hs 21;" f
_bpState src/Dodge/Data/Button.hs 19;" f
_bssColor1 src/Dodge/Data/Button.hs 28;" f
_bssColor2 src/Dodge/Data/Button.hs 29;" f
_btColor src/Dodge/Data/Button.hs 46;" f
_btEvent src/Dodge/Data/Button.hs 40;" f
_btID src/Dodge/Data/Button.hs 41;" f
_btName src/Dodge/Data/Button.hs 45;" f
_btPos src/Dodge/Data/Button.hs 38;" f
_btRot src/Dodge/Data/Button.hs 39;" f
_btState src/Dodge/Data/Button.hs 43;" f
_btTermMID src/Dodge/Data/Button.hs 44;" f
_buDam src/Dodge/Data/Bullet.hs 38;" f
_buDrag src/Dodge/Data/Bullet.hs 23;" f
_buEffect src/Dodge/Data/Bullet.hs 19;" f
@@ -3553,6 +3549,7 @@ branchWith src/Dodge/Room/Room.hs 67;" f
bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 106;" f
btText src/Dodge/Inventory/SelectionList.hs 233;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 36;" f
@@ -3630,7 +3627,7 @@ circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
clAlt src/Dodge/Cloud.hs 5;" f
clClSpringVel src/Dodge/Update.hs 788;" f
clClSpringVel src/Dodge/Update.hs 786;" f
clColor src/Shader/Poke/Cloud.hs 35;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
@@ -3654,7 +3651,7 @@ clipZoom src/Dodge/Update/Camera.hs 222;" f
clockCycle src/Dodge/Clock.hs 9;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 219;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 204;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 233;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 243;" f
closeObjectInfo src/Dodge/Render/HUD.hs 224;" f
closestCreatureID src/Dodge/Debug.hs 116;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
@@ -3732,7 +3729,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 81;" f
crBlips src/Dodge/RadarSweep.hs 87;" f
crCamouflage src/Dodge/Creature/Picture.hs 31;" f
crCanSeeCr src/Dodge/Creature/Test.hs 50;" f
crCrSpring src/Dodge/Update.hs 816;" f
crCrSpring src/Dodge/Update.hs 814;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 57;" f
crDexterity src/Dodge/Creature/Statistics.hs 14;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
@@ -3760,7 +3757,7 @@ crRad src/Dodge/Creature/Radius.hs 7;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 71;" f
crSetRoots src/Dodge/Inventory/Location.hs 48;" f
crShape src/Dodge/Creature/Shape.hs 8;" f
crSpring src/Dodge/Update.hs 811;" f
crSpring src/Dodge/Update.hs 809;" f
crStratConMatches src/Dodge/Creature/Test.hs 76;" f
crStrength src/Dodge/Creature/Statistics.hs 24;" f
crUpdate src/Dodge/Creature/State.hs 62;" f
@@ -3921,7 +3918,7 @@ defaultDirtWall src/Dodge/Default/Wall.hs 61;" f
defaultDisplayInventory src/Dodge/Default/World.hs 167;" f
defaultDoor src/Dodge/Default/Door.hs 29;" f
defaultDoorWall src/Dodge/Default/Wall.hs 32;" f
defaultDrawButton src/Dodge/Button/Draw.hs 28;" f
defaultDrawButton src/Dodge/Button/Draw.hs 29;" f
defaultEquip src/Dodge/Default/Item/Use/Equipment.hs 6;" f
defaultEquipUse src/Dodge/Default/Item/Use.hs 7;" f
defaultEquipment src/Dodge/Default.hs 25;" f
@@ -3941,10 +3938,10 @@ defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f
defaultMachine src/Dodge/Default.hs 31;" f
defaultMachineWall src/Dodge/Default/Wall.hs 48;" f
defaultMuzzles src/Dodge/Default/Item/Use/AimParams.hs 8;" f
defaultPP src/Dodge/Default.hs 64;" f
defaultPP src/Dodge/Default.hs 63;" f
defaultPerceptionState src/Dodge/Default/Creature.hs 73;" f
defaultProp src/Dodge/Default/Prop.hs 6;" f
defaultProximitySensor src/Dodge/Default.hs 75;" f
defaultProximitySensor src/Dodge/Default.hs 74;" f
defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultSensorWall src/Dodge/Default/Wall.hs 58;" f
defaultSwitchWall src/Dodge/Default/Door.hs 22;" f
@@ -4116,7 +4113,7 @@ drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Block/Draw.hs 7;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 331;" f
drawBul src/Dodge/Bullet/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 9;" f
drawButton src/Dodge/Button/Draw.hs 10;" f
drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f
drawCircCollisionTest src/Dodge/Debug/Picture.hs 111;" f
drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f
@@ -4210,8 +4207,8 @@ drawShockwave src/Dodge/Shockwave/Draw.hs 7;" f
drawSpark src/Dodge/Spark/Draw.hs 7;" f
drawStaticBall src/Dodge/EnergyBall/Draw.hs 27;" f
drawSubInventory src/Dodge/Render/HUD.hs 161;" f
drawSwitch src/Dodge/Button/Draw.hs 15;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
drawSwitch src/Dodge/Button/Draw.hs 16;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 27;" f
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 364;" f
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
@@ -4256,7 +4253,7 @@ dtToRootIntMap' src/Dodge/DoubleTree.hs 92;" f
dtToUpDownAdj src/Dodge/DoubleTree.hs 96;" f
dummyMenuOption src/Dodge/Menu/Option.hs 74;" f
dustColor src/Shader/Poke/Cloud.hs 71;" f
dustSpringVel src/Dodge/Update.hs 798;" f
dustSpringVel src/Dodge/Update.hs 796;" f
ebColor src/Dodge/EnergyBall.hs 94;" f
ebDamage src/Dodge/EnergyBall.hs 102;" f
ebEffect src/Dodge/EnergyBall.hs 49;" f
@@ -4947,8 +4944,8 @@ makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeSourcedShader src/Shader/Compile.hs 167;" f
makeSpark src/Dodge/Spark.hs 45;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
makeSwitch src/Dodge/LevelGen/Switch.hs 52;" f
makeSwitchSPic src/Dodge/LevelGen/Switch.hs 40;" f
makeSwitch src/Dodge/LevelGen/Switch.hs 50;" f
makeSwitchSPic src/Dodge/LevelGen/Switch.hs 39;" f
makeTermLine src/Dodge/Terminal.hs 120;" f
makeTermPara src/Dodge/Terminal.hs 123;" f
makeTeslaArc src/Dodge/Tesla.hs 29;" f
@@ -5815,7 +5812,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" 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 807;" f
simpleCrSprings src/Dodge/Update.hs 805;" f
simpleTermMessage src/Dodge/Terminal.hs 253;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f
sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f
@@ -6000,7 +5997,7 @@ termButton src/Dodge/Placement/Instance/Terminal.hs 51;" f
termScreenColor src/Dodge/Terminal/Color.hs 9;" f
termSoundLine src/Dodge/Terminal.hs 111;" f
termTextColor src/Dodge/Terminal.hs 114;" f
terminalColor src/Dodge/Placement/Instance/Terminal.hs 66;" f
terminalColor src/Dodge/Placement/Instance/Terminal.hs 64;" f
terminalReturnEffect src/Dodge/Terminal.hs 276;" f
terminalSPic src/Dodge/Machine/Draw.hs 29;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 35;" f
@@ -6224,7 +6221,7 @@ updateCreature src/Dodge/Creature/Update.hs 13;" f
updateCreatureGroups src/Dodge/Update.hs 520;" f
updateCreatureSoundPositions src/Dodge/Update.hs 496;" f
updateDebugMessageOffset src/Dodge/Update.hs 95;" f
updateDelayedEvents src/Dodge/Update.hs 836;" f
updateDelayedEvents src/Dodge/Update.hs 834;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 541;" f