Simplify tank decorations

This commit is contained in:
2025-12-07 20:11:54 +00:00
parent 6e5d2f147a
commit 79f86a3158
9 changed files with 133 additions and 124 deletions
+1 -1
View File
@@ -35,7 +35,6 @@ data Machine = Machine
, _mcDamage :: [Damage]
, _mcType :: MachineType
, _mcMounts :: M.Map ObjectType Int
, _mcWidth :: Float
}
data MachineType
@@ -46,6 +45,7 @@ data MachineType
| McTurret {_mctTurret :: Turret}
-- | McStorage
-- | McDistributer
-- | McSynthesiser
data Turret = Turret
{ _tuWeapon :: Int
-1
View File
@@ -39,7 +39,6 @@ defaultMachine =
, _mcDamage = []
, _mcType = McStatic
, _mcMounts = mempty
, _mcWidth = 10
}
defaultButton :: Button
+8 -12
View File
@@ -18,8 +18,8 @@ drawMachine cw mc = case _mcType mc of
McStatic -> mempty
McTerminal -> terminalSPic lw mc
McTurret tu -> drawBaseMachine 20 mc <> drawTurret lw tu mc
McDamSensor se -> drawBaseMachine 25 mc <> drawDamSensor gp se mc
McProxSensor se -> drawBaseMachine 25 mc <> drawProxSensor se mc
McDamSensor se -> drawBaseMachine 25 mc <> drawDamSensor gp se
McProxSensor {} -> drawBaseMachine 25 mc
where
lw = cw ^. lWorld
gp = cw ^. cwGen . cwgParams . sensorCoding
@@ -27,15 +27,11 @@ drawMachine cw mc = case _mcType mc of
drawDamSensor ::
M.Map SensorType (PaletteColor, DecorationShape) ->
DamageSensor ->
Machine ->
SPic
drawDamSensor gp sens mc = fold $ do
drawDamSensor gp sens = fold $ do
let st = sens ^. sensType
x <- gp ^? ix st
return $ sensorSPic x mc
drawProxSensor :: ProximitySensor -> Machine -> SPic
drawProxSensor _ = const mempty
return $ sensorSPic x
terminalSPic :: LWorld -> Machine -> SPic
terminalSPic lw = noPic . terminalShape lw
@@ -71,7 +67,7 @@ drawBaseMachine h mc =
. colorSH (mcColor mc)
. upperBox Medium Typical h
. square
$ _mcWidth mc
$ 10
mcColor :: Machine -> Color
mcColor mc = case mc ^. mcType of
@@ -87,8 +83,8 @@ drawTurret lw tu mc = fold $ do
itm <- lw ^? items . ix (tu ^. tuWeapon)
return $ overPosSP (turretItemOffset itm tu mc) (itemSPic itm)
sensorSPic :: (PaletteColor, DecorationShape) -> Machine -> SPic
sensorSPic (pc, ds) mc = noPic $ decorationToShape ds w w 25 col col
sensorSPic :: (PaletteColor, DecorationShape) -> SPic
sensorSPic (pc, ds) = noPic $ decorationToShape ds w w 25 col
where
col = paletteToColor pc
w = _mcWidth mc
w = 10
+5 -2
View File
@@ -1,12 +1,15 @@
module Dodge.Placement.Instance.Block where
module Dodge.Placement.Instance.Block (
decoratedBlock,
lowBlock,
) where
import Shape
import Color
import Dodge.Data.GenWorld
import Dodge.Default.Block
import Dodge.Default.Wall
import Geometry
import LensHelp
import Shape
decoratedBlock :: Shape -> Material -> Color -> Float -> [Point2] -> PSType
decoratedBlock decf mat col h ps = PutBlock bl wl $ reverse ps
+7 -6
View File
@@ -13,24 +13,25 @@ import Geometry
import Shape
tankSquareDec ::
(Float -> Float -> Float -> Color -> Color -> Shape) ->
(Float -> Float -> Float -> Color -> Shape) ->
Color ->
Color ->
Placement
tankSquareDec dec = tankShape (reverse . orderPolygon $ square 20) (dec 20 20 31)
--tankSquareDec dec = tankShape (reverse . orderPolygon $ square 20) (dec 20 20 31)
tankSquareDec dec = tankShape (orderPolygon $ square 20) (dec 20 20 31)
tankShape :: [Point2] -> (Color -> Color -> Shape) -> Color -> Color -> Placement
tankShape baseshape facade col col' = sps0 $ decoratedBlock (facade col col') Metal col 31 baseshape
tankShape :: [Point2] -> (Color -> Shape) -> Color -> Color -> Placement
tankShape baseshape facade col col' = sps0 $ decoratedBlock (facade col') Metal col 31 baseshape
roundTank :: Color -> Color -> Placement
roundTank = tankShape (polyCirc 4 20) $
\_ c' -> colorSH c' $ foldMap toprail (take 8 [0, pi / 4 ..])
\c' -> colorSH c' $ foldMap toprail (take 8 [0, pi / 4 ..])
where
toprail a = rotateSH a $ thinHighBar 31 (V2 0 20) (rotateV (pi / 4) $ V2 0 20)
roundTankCross :: Color -> Color -> Placement
roundTankCross = tankShape (polyCirc 4 20) $
\_ c ->
\c ->
colorSH c $
thinHighBar 31 (V2 20 0) (V2 (-20) 0)
<> thinHighBar 31 (V2 0 20) (V2 0 (-20))
+26 -16
View File
@@ -1,4 +1,12 @@
module Dodge.Placement.TopDecoration where
{-# LANGUAGE LambdaCase #-}
module Dodge.Placement.TopDecoration (
decorationToShape,
fourEmbossDecoration,
midBarDecoration,
squareDecoration,
plusDecoration,
) where
import Color
import Dodge.Data.GenParams
@@ -6,15 +14,15 @@ import Dodge.Room.Foreground
import Geometry
import Shape
decorationToShape :: DecorationShape -> Float -> Float -> Float -> Color -> Color -> Shape
decorationToShape dec = case dec of
decorationToShape :: DecorationShape -> Float -> Float -> Float -> Color -> Shape
decorationToShape = \case
PLUS -> plusDecoration
SQUARE -> squareDecoration
CIRCLE -> circleDecoration
THREELINES -> threeLineDecoration
midBarDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
midBarDecoration w h z _ c =
midBarDecoration :: Float -> Float -> Float -> Color -> Shape
midBarDecoration w h z c =
embossingR
<> rotateSH pi embossingR
<> colorSH c (thinHighBar (z + 7) (V2 (-0.3 * w) 0) (V2 (0.3 * w) 0))
@@ -22,24 +30,26 @@ midBarDecoration w h z _ c =
w' = 0.3 * w
embossingR =
colorSH c $
prismPoly Medium Typical
prismPoly
Medium
Typical
[V3 w h z, V3 w (0.3 * h) 41, V3 w (-0.3 * h) 41, V3 w (- h) z]
[V3 w' h z, V3 w' (0.3 * h) 41, V3 w' (-0.3 * h) 41, V3 w' (- h) z]
fourEmbossDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
fourEmbossDecoration w h z _ c = colorSH c $ foldMap f [(w, h), (- w, h), (w, - h), (- w, - h)]
fourEmbossDecoration :: Float -> Float -> Float -> Color -> Shape
fourEmbossDecoration w h z c = colorSH c $ foldMap f [(w, h), (- w, h), (w, - h), (- w, - h)]
where
f (a, b) = translateSH (V3 (a / 2) (b / 2) z) embossing
embossing = upperBoxHalf Large Typical 10 $ rectNSWE (h / 2) (- h / 2) (- w / 2) (w / 2)
plusDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
plusDecoration w h z _ c =
plusDecoration :: Float -> Float -> Float -> Color -> Shape
plusDecoration w h z c =
colorSH c $
thinHighBar z (V2 w 0) (V2 (- w) 0)
<> thinHighBar z (V2 0 h) (V2 0 (- h))
squareDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
squareDecoration w h z _ col =
squareDecoration :: Float -> Float -> Float -> Color -> Shape
squareDecoration w h z col =
colorSH col $
foldMap
f
@@ -53,13 +63,13 @@ squareDecoration w h z _ col =
h' = h - 1.5
f (a, c, b, d) = thinHighBar z (V2 a b) (V2 c d)
circleDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
circleDecoration w _ z _ c = colorSH c $ foldMap toprail (take 8 [0, pi / 4 ..])
circleDecoration :: Float -> Float -> Float -> Color -> Shape
circleDecoration w _ z c = colorSH c $ foldMap toprail (take 8 [0, pi / 4 ..])
where
toprail a = rotateSH a $ thinHighBar z (V2 0 w) (rotateV (pi / 4) $ V2 0 w)
threeLineDecoration :: Float -> Float -> Float -> Color -> Color -> Shape
threeLineDecoration w h z _ col =
threeLineDecoration :: Float -> Float -> Float -> Color -> Shape
threeLineDecoration w h z col =
colorSH col $
foldMap
f
+2 -1
View File
@@ -21,7 +21,8 @@ corridor =
, _rmLinks = lnks'
, --, _rmPath = foldMap (doublePairSet . (,) (V2 20 60) . fst) lnks
_rmPath = foldMap (doublePairSet . (,) (V2 20 60)) [V2 20 70, V2 20 10]
, _rmPmnts = [spanLightI (V2 0 39.5) (V2 40 39.5)]
--, _rmPmnts = [spanLightI (V2 0 39.5) (V2 40 39.5)]
, _rmPmnts = []
, _rmBound = [rectNSWE 50 30 (-5) 45]
, _rmFloor = Tiled [makeTileFromPoly poly 5]
, _rmRandPSs = [psRandRanges (10, 30) (30, 60) (0, 2 * pi)]
+2 -1
View File
@@ -49,7 +49,8 @@ tutAnoTree = do
[ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox
, corDoor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
--, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom
, tToBTree "sdr" . return . cleatOnward <$> tanksPipesRoom
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
, return $ tToBTree "cor" $ return $ cleatOnward corridor
+82 -84
View File
@@ -17,7 +17,7 @@
<$> src/Dodge/Data/Camera.hs 38;" o
<$> src/Dodge/Data/Creature.hs 89;" o
<$> src/Dodge/Data/LWorld.hs 176;" o
<$> src/Dodge/Data/Terminal.hs 68;" o
<$> src/Dodge/Data/Terminal.hs 67;" o
ABSOLUTE src/Dodge/Data/Item/Combine.hs 39;" C
AIUNIT src/Dodge/Data/Item/Combine.hs 74;" C
ALTERIFLE src/Dodge/Data/Item/Combine.hs 153;" C
@@ -705,7 +705,7 @@ Machine src/Dodge/Data/Machine.hs 27;" t
MachineAltSound src/Dodge/Data/SoundOrigin.hs 22;" C
MachinePart src/Dodge/Data/Wall/Structure.hs 13;" C
MachineSound src/Dodge/Data/SoundOrigin.hs 21;" C
MachineType src/Dodge/Data/Machine.hs 41;" t
MachineType src/Dodge/Data/Machine.hs 40;" t
MagBelow src/Dodge/Data/Muzzle.hs 22;" C
Magnet src/Dodge/Data/Magnet.hs 21;" t
MagnetAlign src/Dodge/Data/Magnet.hs 15;" C
@@ -730,11 +730,11 @@ MapperSF src/Dodge/Data/ComposedItem.hs 39;" C
Material src/Dodge/Data/Material.hs 10;" t
MaterialSound src/Dodge/Data/SoundOrigin.hs 34;" C
Maybe' src/MaybeHelp.hs 11;" t
McDamSensor src/Dodge/Data/Machine.hs 44;" C
McProxSensor src/Dodge/Data/Machine.hs 45;" C
McStatic src/Dodge/Data/Machine.hs 42;" C
McTerminal src/Dodge/Data/Machine.hs 43;" C
McTurret src/Dodge/Data/Machine.hs 46;" C
McDamSensor src/Dodge/Data/Machine.hs 43;" C
McProxSensor src/Dodge/Data/Machine.hs 44;" C
McStatic src/Dodge/Data/Machine.hs 41;" C
McTerminal src/Dodge/Data/Machine.hs 42;" C
McTurret src/Dodge/Data/Machine.hs 45;" C
MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 54;" C
MdSetLSCol src/Dodge/Data/WorldEffect.hs 53;" C
MdTrigIf src/Dodge/Data/WorldEffect.hs 52;" C
@@ -1264,10 +1264,10 @@ SwarmCrit src/Dodge/Data/Creature/Misc.hs 69;" C
SwitchToItem src/Dodge/Data/ActionPlan.hs 37;" C
TAPE src/Dodge/Data/Item/Combine.hs 55;" C
TARGETING src/Dodge/Data/Item/Combine.hs 21;" C
TCBase src/Dodge/Data/Terminal.hs 49;" C
TCDamageCommand src/Dodge/Data/Terminal.hs 50;" C
TCInfo src/Dodge/Data/Terminal.hs 48;" C
TCom src/Dodge/Data/Terminal.hs 47;" t
TCBase src/Dodge/Data/Terminal.hs 48;" C
TCDamageCommand src/Dodge/Data/Terminal.hs 49;" C
TCInfo src/Dodge/Data/Terminal.hs 47;" C
TCom src/Dodge/Data/Terminal.hs 46;" t
TESLAGUN src/Dodge/Data/Item/Combine.hs 167;" C
THERMOMETER src/Dodge/Data/Item/Combine.hs 83;" C
THREELINES src/Dodge/Data/GenParams.hs 18;" C
@@ -1275,7 +1275,7 @@ TIMESCROLLER src/Dodge/Data/Item/Combine.hs 142;" C
TIMESTOPPER src/Dodge/Data/Item/Combine.hs 141;" C
TIN src/Dodge/Data/Item/Combine.hs 57;" C
TINMAG src/Dodge/Data/Item/Combine.hs 106;" C
TLine src/Dodge/Data/Terminal.hs 36;" C
TLine src/Dodge/Data/Terminal.hs 35;" C
TO src/Shader/Data.hs 59;" t
TRACTORGUN src/Dodge/Data/Item/Combine.hs 168;" C
TRANSFORMER src/Dodge/Data/Item/Combine.hs 64;" C
@@ -1300,16 +1300,16 @@ TeleSound src/Dodge/Data/SoundOrigin.hs 35;" C
TermSignal src/Dodge/Data/Input.hs 51;" t
Terminal src/Dodge/Data/Terminal.hs 19;" t
TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C
TerminalLine src/Dodge/Data/Terminal.hs 36;" t
TerminalLineConst src/Dodge/Data/Terminal.hs 34;" C
TerminalLine src/Dodge/Data/Terminal.hs 35;" t
TerminalLineConst src/Dodge/Data/Terminal.hs 33;" C
TerminalLineRead src/Dodge/Data/Terminal/Status.hs 13;" C
TerminalLineString src/Dodge/Data/Terminal.hs 34;" t
TerminalLineString src/Dodge/Data/Terminal.hs 33;" t
TerminalOff src/Dodge/Data/Terminal/Status.hs 11;" C
TerminalPressTo src/Dodge/Data/Terminal/Status.hs 15;" C
TerminalSound src/Dodge/Data/SoundOrigin.hs 23;" C
TerminalStatus src/Dodge/Data/Terminal/Status.hs 10;" t
TerminalTextInput src/Dodge/Data/Terminal/Status.hs 14;" C
TerminalToggle src/Dodge/Data/Terminal.hs 42;" t
TerminalToggle src/Dodge/Data/Terminal.hs 41;" t
Terrestrial src/Dodge/Data/Scenario.hs 72;" C
TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t
TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t
@@ -1321,16 +1321,16 @@ Tile src/Data/Tile.hs 16;" t
Tiled src/Data/Tile.hs 14;" C
TimeFlowStatus src/Dodge/Data/World.hs 63;" t
Tiny src/Shape/Data.hs 27;" C
TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 60;" C
TmTmSetStatus src/Dodge/Data/Terminal.hs 61;" C
TmWdId src/Dodge/Data/Terminal.hs 53;" C
TmWdWd src/Dodge/Data/Terminal.hs 52;" t
TmWdWdDeactivateTerminal src/Dodge/Data/Terminal.hs 56;" C
TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 59;" C
TmWdWdLeaveTerminal src/Dodge/Data/Terminal.hs 55;" C
TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 54;" C
TmWdWdTermSound src/Dodge/Data/Terminal.hs 58;" C
TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 57;" C
TmTmClearDisplayedLines src/Dodge/Data/Terminal.hs 59;" C
TmTmSetStatus src/Dodge/Data/Terminal.hs 60;" C
TmWdId src/Dodge/Data/Terminal.hs 52;" C
TmWdWd src/Dodge/Data/Terminal.hs 51;" t
TmWdWdDeactivateTerminal src/Dodge/Data/Terminal.hs 55;" C
TmWdWdDoDeathTriggers src/Dodge/Data/Terminal.hs 58;" C
TmWdWdLeaveTerminal src/Dodge/Data/Terminal.hs 54;" C
TmWdWdPowerDownTerminal src/Dodge/Data/Terminal.hs 53;" C
TmWdWdTermSound src/Dodge/Data/Terminal.hs 57;" C
TmWdWdfromWdWd src/Dodge/Data/Terminal.hs 56;" C
ToContinueStart src/Sound/Data.hs 25;" C
ToPlaySound src/Sound/Data.hs 33;" t
ToStart src/Sound/Data.hs 24;" C
@@ -1978,7 +1978,6 @@ _mcMounts src/Dodge/Data/Machine.hs 37;" f
_mcPos src/Dodge/Data/Machine.hs 31;" f
_mcType src/Dodge/Data/Machine.hs 36;" f
_mcWallIDs src/Dodge/Data/Machine.hs 29;" f
_mcWidth src/Dodge/Data/Machine.hs 38;" f
_mcoCombCombine src/Dodge/Data/Input.hs 24;" f
_mcoCombSelect src/Dodge/Data/Input.hs 23;" f
_mcoDBBool src/Dodge/Data/Input.hs 30;" f
@@ -1992,7 +1991,7 @@ _mcoSecSelStart src/Dodge/Data/Input.hs 20;" f
_mcoSelEnd src/Dodge/Data/Input.hs 20;" f
_mcoTermID src/Dodge/Data/Input.hs 27;" f
_mcoTermStatus src/Dodge/Data/Input.hs 27;" f
_mctTurret src/Dodge/Data/Machine.hs 46;" f
_mctTurret src/Dodge/Data/Machine.hs 45;" f
_mdBool src/Dodge/Data/Modification.hs 19;" f
_mdExternalID src/Dodge/Data/Modification.hs 15;" f
_mdExternalID1 src/Dodge/Data/Modification.hs 23;" f
@@ -2344,20 +2343,20 @@ _tileZero src/Data/Tile.hs 19;" f
_tiles src/Data/Tile.hs 14;" f
_timeFlow src/Dodge/Data/World.hs 38;" f
_timeFlowCharge src/Dodge/Data/World.hs 83;" f
_tlEffect src/Dodge/Data/Terminal.hs 39;" f
_tlPause src/Dodge/Data/Terminal.hs 37;" f
_tlString src/Dodge/Data/Terminal.hs 38;" f
_tlEffect src/Dodge/Data/Terminal.hs 38;" f
_tlPause src/Dodge/Data/Terminal.hs 36;" f
_tlString src/Dodge/Data/Terminal.hs 37;" f
_tmBootLines src/Dodge/Data/Terminal.hs 21;" f
_tmButtonID src/Dodge/Data/Terminal.hs 22;" f
_tmCommandHistory src/Dodge/Data/Terminal.hs 30;" f
_tmCommands src/Dodge/Data/Terminal.hs 27;" f
_tmDeathEffect src/Dodge/Data/Terminal.hs 28;" f
_tmDisplayedLines src/Dodge/Data/Terminal.hs 25;" f
_tmFutureLines src/Dodge/Data/Terminal.hs 26;" f
_tmCommandHistory src/Dodge/Data/Terminal.hs 29;" f
_tmCommands src/Dodge/Data/Terminal.hs 26;" f
_tmDeathEffect src/Dodge/Data/Terminal.hs 27;" f
_tmDisplayedLines src/Dodge/Data/Terminal.hs 24;" f
_tmFutureLines src/Dodge/Data/Terminal.hs 25;" f
_tmID src/Dodge/Data/Terminal.hs 20;" f
_tmMachineID src/Dodge/Data/Terminal.hs 23;" f
_tmStatus src/Dodge/Data/Terminal.hs 29;" f
_tmToggles src/Dodge/Data/Terminal.hs 31;" f
_tmStatus src/Dodge/Data/Terminal.hs 28;" f
_tmToggles src/Dodge/Data/Terminal.hs 30;" f
_toPlaySoundChunkID src/Sound/Data.hs 39;" f
_toPlaySoundPos src/Sound/Data.hs 36;" f
_toPlaySoundStatus src/Sound/Data.hs 35;" f
@@ -2371,8 +2370,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 118;" f
_trieChildren src/SimpleTrie.hs 12;" f
_trieMVal src/SimpleTrie.hs 11;" f
_triggers src/Dodge/Data/LWorld.hs 127;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 44;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 43;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 43;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 42;" f
_tuDir src/Dodge/Data/Machine.hs 54;" f
_tuFireTime src/Dodge/Data/Machine.hs 53;" f
_tuTurnSpeed src/Dodge/Data/Machine.hs 52;" f
@@ -2744,7 +2743,7 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 30;" f
buttonFlip src/Dodge/Button/Event.hs 17;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 742;" f
cChasm src/Dodge/Room/Tutorial.hs 119;" f
cChasm src/Dodge/Room/Tutorial.hs 120;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f
@@ -2779,7 +2778,7 @@ chaseCritInternal src/Dodge/Humanoid.hs 8;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 188;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 189;" f
chasmTest src/Dodge/Creature/Update.hs 109;" f
chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
@@ -2811,7 +2810,7 @@ circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f
circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 66;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
clAlt src/Dodge/Cloud.hs 5;" f
@@ -2911,8 +2910,8 @@ cornerList src/Preload/Render.hs 236;" f
corpseOrGib src/Dodge/Creature/Update.hs 88;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
corridorN src/Dodge/Room/Corridor.hs 52;" f
corridorWallN src/Dodge/Room/Corridor.hs 71;" f
corridorN src/Dodge/Room/Corridor.hs 53;" f
corridorWallN src/Dodge/Room/Corridor.hs 72;" f
crAdd src/Dodge/Room/RezBox.hs 116;" f
crAwayFromPost src/Dodge/Creature/Test.hs 85;" f
crBlips src/Dodge/RadarSweep.hs 88;" f
@@ -3072,7 +3071,7 @@ decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f
decomposeTree src/Dodge/Tree/Compose.hs 58;" f
decontamRoom src/Dodge/Room/Airlock.hs 38;" f
decoratedBlock src/Dodge/Placement/Instance/Block.hs 11;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 9;" f
decorationToShape src/Dodge/Placement/TopDecoration.hs 17;" f
decreaseAwareness src/Dodge/Creature/Perception.hs 118;" f
decrementTimer src/Sound.hs 103;" f
dedaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 712;" f
@@ -3089,7 +3088,7 @@ defaultAutoWall src/Dodge/Default/Wall.hs 32;" f
defaultBlock src/Dodge/Default/Block.hs 5;" f
defaultBounds src/Dodge/Data/Bounds.hs 18;" f
defaultBullet src/Dodge/Item/Weapon/Bullet.hs 10;" f
defaultButton src/Dodge/Default.hs 45;" f
defaultButton src/Dodge/Default.hs 44;" f
defaultCWCam src/Dodge/Default/World.hs 72;" f
defaultCWGen src/Dodge/Default/World.hs 62;" f
defaultCWorld src/Dodge/Default/World.hs 87;" f
@@ -3119,7 +3118,7 @@ defaultListDisplayParams src/Dodge/ListDisplayParams.hs 18;" f
defaultMachine src/Dodge/Default.hs 30;" f
defaultMachineWall src/Dodge/Default/Wall.hs 38;" f
defaultPerceptionState src/Dodge/Default/Creature.hs 75;" f
defaultProximitySensor src/Dodge/Default.hs 53;" f
defaultProximitySensor src/Dodge/Default.hs 52;" f
defaultRoom src/Dodge/Default/Room.hs 9;" f
defaultTerminal src/Dodge/Default/Terminal.hs 8;" f
defaultVision src/Dodge/Default/Creature.hs 85;" f
@@ -3260,7 +3259,7 @@ drawAimSweep src/Dodge/Render/Picture.hs 292;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f
drawArrowDown src/Dodge/Render/Picture.hs 219;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 64;" f
drawBlip src/Dodge/RadarBlip.hs 16;" f
drawBlock src/Dodge/Render/ShapePicture.hs 51;" f
drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f
@@ -3339,7 +3338,6 @@ drawPathing src/Dodge/Debug/Picture.hs 407;" f
drawPlus src/Dodge/Render/Picture.hs 163;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProxSensor src/Dodge/Machine/Draw.hs 37;" f
drawPulseBall src/Dodge/Render/ShapePicture.hs 65;" f
drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f
drawRBOptions src/Dodge/Render/HUD.hs 252;" f
@@ -3369,7 +3367,7 @@ drawText src/Picture/Base.hs 220;" f
drawTitle src/Dodge/Render/MenuScreen.hs 49;" f
drawTitleBackground src/Dodge/Render/List.hs 45;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTurret src/Dodge/Machine/Draw.hs 85;" f
drawTurret src/Dodge/Machine/Draw.hs 81;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f
drawWall src/Dodge/Wall/Draw.hs 11;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f
@@ -3523,7 +3521,7 @@ floorTo src/Geometry/Zone.hs 12;" f
floorWire src/Dodge/Wire.hs 13;" f
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 586;" f
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 580;" f
foldMTRS src/Dodge/Room/Tutorial.hs 65;" f
foldMTRS src/Dodge/Room/Tutorial.hs 66;" f
foldPairs src/ListHelp.hs 37;" f
foldrWhileArb src/ListHelp.hs 111;" f
followImpulse src/Dodge/Creature/Impulse.hs 24;" f
@@ -3535,7 +3533,7 @@ forceElements src/StrictHelp.hs 10;" f
forceField src/Dodge/Wall/ForceField.hs 6;" f
forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 39;" f
fpsText src/Dodge/Render/Picture.hs 57;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 146;" f
frag src/Shader/Data.hs 110;" f
@@ -3585,8 +3583,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f
getCommand src/Dodge/Terminal.hs 52;" f
getCommands src/Dodge/Terminal.hs 49;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 337;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 324;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 338;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 325;" f
getDebugMouseOver src/Dodge/Update.hs 375;" f
getDistortions src/Dodge/Render.hs 433;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
@@ -3603,7 +3601,7 @@ getNodePos src/Dodge/Path.hs 34;" f
getPJStabiliser src/Dodge/HeldUse.hs 1251;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 3;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 320;" f
getRoomsFromInts src/Dodge/Room/Tutorial.hs 321;" f
getRootItemBounds src/Dodge/Render/HUD.hs 101;" f
getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
@@ -3916,9 +3914,9 @@ keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 78;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 66;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 438;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 40;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
lChasm src/Dodge/Room/Tutorial.hs 128;" f
lChasm src/Dodge/Room/Tutorial.hs 129;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f
lConnectMulti src/Dodge/Render/Connectors.hs 46;" f
lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f
@@ -4118,7 +4116,7 @@ maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 129;" f
mcColor src/Dodge/Machine/Draw.hs 76;" f
mcColor src/Dodge/Machine/Draw.hs 72;" f
mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 98;" f
mcDamSensorUpdate src/Dodge/Machine/Update.hs 136;" f
mcKillBut src/Dodge/Machine/Destroy.hs 37;" f
@@ -4162,9 +4160,9 @@ metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 562;" f
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
midBarDecoration src/Dodge/Placement/TopDecoration.hs 24;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 151;" f
midChasm src/Dodge/Room/Tutorial.hs 152;" f
midPad src/Padding.hs 27;" f
midPadL src/Padding.hs 33;" f
midPoint src/Geometry.hs 83;" f
@@ -4395,7 +4393,7 @@ playPositionalSoundQueue src/Sound.hs 146;" f
playSoundAndUpdate src/Sound.hs 54;" f
playSoundQueue src/Sound.hs 133;" f
playSoundUnlessRewinding appDodge/Main.hs 110;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 45;" f
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 209;" f
@@ -4443,8 +4441,8 @@ pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 84;" f
poly3Col src/Picture/Base.hs 88;" f
polyChasm src/Dodge/Room/Tutorial.hs 172;" f
polyChasmC src/Dodge/Room/Tutorial.hs 181;" f
polyChasm src/Dodge/Room/Tutorial.hs 173;" f
polyChasmC src/Dodge/Room/Tutorial.hs 182;" f
polyCirc src/Shape.hs 46;" f
polyCircx src/Shape.hs 51;" f
polyCornerDist src/Geometry/Polygon.hs 61;" f
@@ -4626,7 +4624,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f
removeDot src/ShortShow.hs 44;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeLights src/Dodge/Room/Tutorial.hs 237;" f
removeLights src/Dodge/Room/Tutorial.hs 238;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f
renderDataResizeUpdate src/Preload/Update.hs 27;" f
@@ -4727,8 +4725,8 @@ rotateV src/Geometry/Vector.hs 106;" f
rotateVAround src/Geometry/Vector.hs 113;" f
rotateXY src/Polyhedra.hs 31;" f
roundPoint2 src/Geometry/Intersect.hs 237;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 25;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 31;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 26;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 32;" f
rpIsOffGrid src/Dodge/PlacementSpot.hs 81;" f
rpIsOnGrid src/Dodge/PlacementSpot.hs 75;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 87;" f
@@ -4808,8 +4806,8 @@ senseDamage src/Dodge/Machine/Update.hs 215;" f
sensorReqToString src/Dodge/Machine/Update.hs 197;" f
sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f
sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f
sensorSPic src/Dodge/Machine/Draw.hs 90;" f
sensorTut src/Dodge/Room/Tutorial.hs 346;" f
sensorSPic src/Dodge/Machine/Draw.hs 86;" f
sensorTut src/Dodge/Room/Tutorial.hs 347;" f
sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f
sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f
sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f
@@ -4836,7 +4834,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f
setOutLinksByType src/Dodge/RoomLink.hs 75;" f
setOutLinksPD src/Dodge/RoomLink.hs 95;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 72;" f
setRoomInt src/Dodge/Room/Tutorial.hs 73;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f
setShaderSource src/Shader/Compile.hs 121;" f
@@ -4845,7 +4843,7 @@ setSoundVolume src/Sound.hs 158;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 79;" f
setTreeInts src/Dodge/Room/Tutorial.hs 80;" f
setViewDistance src/Dodge/Update/Camera.hs 243;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 438;" f
@@ -5014,7 +5012,7 @@ spreadOut src/Dodge/Creature/Boid.hs 160;" f
sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f
sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f
square src/Geometry/Polygon.hs 48;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 41;" f
squareDecoration src/Dodge/Placement/TopDecoration.hs 51;" f
squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 116;" f
squashNormalizeV src/Geometry/Vector.hs 158;" f
ssLookupDown src/Dodge/SelectionSections.hs 82;" f
@@ -5079,9 +5077,9 @@ swapItemWith src/Dodge/Inventory.hs 164;" f
swarmCrit src/Dodge/Creature/SwarmCrit.hs 10;" f
swarmUsingCenter src/Dodge/Creature/Boid.hs 174;" f
t src/ShortShow.hs 48;" f
tEast src/Dodge/Room/Corridor.hs 90;" f
tEast src/Dodge/Room/Corridor.hs 91;" f
tToBTree src/Dodge/Tree/Compose.hs 92;" f
tWest src/Dodge/Room/Corridor.hs 115;" f
tWest src/Dodge/Room/Corridor.hs 116;" f
tabComplete src/Dodge/Terminal.hs 117;" f
tabComplete' src/Dodge/Terminal.hs 123;" f
takeN src/RandomHelp.hs 44;" f
@@ -5092,7 +5090,7 @@ takeOneWeighted src/RandomHelp.hs 25;" f
takeUntil src/FoldableHelp.hs 99;" f
takeWhileArb src/ListHelp.hs 100;" f
takeWhileArb' src/ListHelp.hs 108;" f
tankShape src/Dodge/Placement/Instance/Tank.hs 22;" f
tankShape src/Dodge/Placement/Instance/Tank.hs 23;" f
tankSquareDec src/Dodge/Placement/Instance/Tank.hs 15;" f
tanksPipesRoom src/Dodge/Room/Tanks.hs 69;" f
tanksRoom src/Dodge/Room/Tanks.hs 77;" f
@@ -5113,9 +5111,9 @@ termScreenColor src/Dodge/Terminal/Color.hs 8;" f
termSoundLine src/Dodge/Terminal.hs 43;" f
termTextColor src/Dodge/Terminal.hs 46;" f
terminalReturnEffect src/Dodge/Terminal.hs 168;" f
terminalSPic src/Dodge/Machine/Draw.hs 40;" f
terminalSPic src/Dodge/Machine/Draw.hs 36;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 40;" f
terminalShape src/Dodge/Machine/Draw.hs 43;" f
terminalShape src/Dodge/Machine/Draw.hs 39;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
@@ -5149,7 +5147,7 @@ thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 106;" f
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 44;" f
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 127;" f
thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 52;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 71;" f
throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 534;" f
throwItem src/Dodge/Creature/Action.hs 191;" f
tileTexCoords src/Tile.hs 11;" f
@@ -5269,12 +5267,12 @@ tryUseParent src/Dodge/Creature/State.hs 145;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
tutAnoTree src/Dodge/Room/Tutorial.hs 46;" f
tutDrop src/Dodge/Room/Tutorial.hs 84;" f
tutHub src/Dodge/Room/Tutorial.hs 244;" f
tutLight src/Dodge/Room/Tutorial.hs 209;" f
tutRezBox src/Dodge/Room/Tutorial.hs 357;" f
tutDrop src/Dodge/Room/Tutorial.hs 85;" f
tutHub src/Dodge/Room/Tutorial.hs 245;" f
tutLight src/Dodge/Room/Tutorial.hs 210;" f
tutRezBox src/Dodge/Room/Tutorial.hs 358;" f
tutRoomTree src/Dodge/Floor.hs 21;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 380;" f
tutorialMessage1 src/Dodge/Room/Tutorial.hs 381;" f
tweenAngles src/Geometry/Vector.hs 190;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f
@@ -5590,7 +5588,7 @@ yourInv src/Dodge/Base/You.hs 28;" f
yourRootItem src/Dodge/Base/You.hs 22;" f
yourSelectedItem src/Dodge/Base/You.hs 16;" f
yourStatsInfo src/Dodge/Creature/Info.hs 27;" f
zChasm src/Dodge/Room/Tutorial.hs 138;" f
zChasm src/Dodge/Room/Tutorial.hs 139;" f
zConnect src/Dodge/Render/Connectors.hs 17;" f
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f