Tweak terminal screen drawing

This commit is contained in:
2026-04-06 10:03:48 +01:00
parent c041a4d174
commit 4723b45ef6
6 changed files with 97 additions and 92 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ secondColumnLDP = defaultLDP & ldpPos . spPixelOff .~ V2 subInvX (-20)
terminalLDP :: LDParams
terminalLDP = secondColumnLDP & ldpSize ?~ V2 50 16
& ldpPos . spScreenOff .~ V2 0.5 0.5
& ldpPos . spPixelOff .~ V2 (-250) (-40)
& ldpPos . spPixelOff .~ V2 (-250) 200
subInvX :: Float
subInvX = 10 * fromIntegral topInvW + 170
+11 -4
View File
@@ -372,10 +372,16 @@ drawTerminalDisplay w cfig tid = fold $ do
TerminalLineRead -> (++ [(spincurs, termTextColor)])
TerminalTextInput s -> (++ [(getPromptTM ++ s ++ [cFilledRect], white)])
TerminalPressTo s -> (++ [(s, white)])
return $
return . (each . vxPos . _z -~ 0.05) $
drawTerminalCursorLink w cfig tm
<> (
drawSelectionList (w ^. tmLDP) cfig f
<> drawTerminalCursorLink w cfig tm
<> (hackInvertText black white ("TERMINAL-" ++ show tid)
& each . vxPos *~ 0.1
& each . vxPos . _xy +~ rp)
& each . vxPos . _z -~ 0.05)
where
rp = screenPosAbs cfig (w ^. tmLDP . ldpPos)
-- <> invHead cfig ("TERMINAL-" ++ show tid)
-- <> color
-- (withAlpha 0.5 green) -- consider integrating termScreenColor somehow
@@ -391,7 +397,7 @@ drawTerminalCursorLink :: World -> Config -> Terminal -> Picture
drawTerminalCursorLink w cfig tm = fold $ do
j <- elemIndex (tm ^. tmButtonID) $ w ^. hud . closeButtons
lp <- selNumPos cfig invDP (w ^. hud . diSections) 5 j
let rp = screenPosAbs cfig (secondColumnLDP ^. ldpPos) - V2 5 10
let rp = screenPosAbs cfig (w ^. tmLDP . ldpPos)
lcol <- selSecSelCol 5 j (w ^. hud . diSections)
return $
translateScreenPos
@@ -403,7 +409,8 @@ drawTerminalCursorLink w cfig tm = fold $ do
(w ^. hud . diSections)
(Sel 5 j mempty)
)
<> lConnectCol (lp + V2 155 0) rp lcol white white
<>
lConnectCol (lp + V2 155 0) rp lcol white white
lnkMidPosInvSelsCol :: Config -> World -> Int -> Color -> [Int] -> Picture
lnkMidPosInvSelsCol cfig w i col = fromMaybe mempty . foldMap f
+1 -1
View File
@@ -40,7 +40,7 @@ drawSelectionList ldps cfig sl =
(drawListYgapScaleYoff ygap sf 0 (makeSelectionListPictures sl))
<> foldMap (g . f) (ldpRect cfig ldps)
where
g xs = color white (polygonWire xs) <> setDepth 0.5 (polygon xs)
g xs = color white (polygonWire xs) <> setDepth 0.05 (polygon xs)
ygap = ldps ^. ldpVerticalGap
sf = ldps ^. ldpScale
f (V2 xmin ymax, V2 xmax ymin) = rectNSWE ymax ymin xmin xmax
+1 -1
View File
@@ -136,7 +136,7 @@ setPixelOffsetBounded cfig (V2 x y) ldp = ldp & ldpPos . spPixelOff .~ V2 x' y'
w = fromIntegral $ cfig ^. windowX
x' = min (w - (w*a + 1+10*ldp ^?! ldpSize . _Just . _x . to fromIntegral))
$ max (1 - w * a) x
y' = min (h-(h*b + 40))
y' = min (h-(h*b + 20))
$ max (1+20*(ldp^.ldpVerticalGap + ldp^?!ldpSize._Just._y.to fromIntegral)-h*b) y
V2 a b = ldp ^. ldpPos . spScreenOff
+5 -5
View File
@@ -42,7 +42,7 @@ module Picture.Base (
color,
zeroZ,
setDepth,
addDepth,
-- addDepth,
setLayer,
mirroryz,
mirrorxz,
@@ -122,10 +122,10 @@ setDepth :: Float -> Picture -> Picture
--setDepth d = map $ second $ overPos (\(x,y,_) -> (x,y,d))
setDepth d = fmap $ overPos (\(V3 x y _) -> V3 x y d)
addDepth :: Float -> Picture -> Picture
{-# INLINE addDepth #-}
--addDepth d = map $ second $ overPos (\(x,y,z) -> (x,y,z+d))
addDepth d = fmap $ overPos (\(V3 x y z) -> V3 x y (z + d))
--addDepth :: Float -> Picture -> Picture
--{-# INLINE addDepth #-}
----addDepth d = map $ second $ overPos (\(x,y,z) -> (x,y,z+d))
--addDepth d = fmap $ overPos (\(V3 x y z) -> V3 x y (z + d))
-- TODO change the Int here to a dedicated type
setLayer :: Layer -> Picture -> Picture
+78 -80
View File
@@ -100,7 +100,7 @@ BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 134;" C
BULLETMOD src/Dodge/Data/Item/Combine.hs 22;" C
BULLETSYNTH src/Dodge/Data/Item/Combine.hs 93;" C
BURSTRIFLE src/Dodge/Data/Item/Combine.hs 157;" C
BackdropCurs src/Dodge/Data/SelectionList.hs 22;" C
BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C
Bark src/Dodge/Data/ActionPlan.hs 39;" C
BarrelCrit src/Dodge/Data/Creature/Misc.hs 64;" C
@@ -139,7 +139,7 @@ Blunt src/Dodge/Data/Damage.hs 17;" C
Boosting src/Dodge/Data/Creature/Stance.hs 25;" C
BottomMenuOption src/Dodge/Data/Universe.hs 77;" C
BounceBullet src/Dodge/Data/Bullet.hs 28;" C
BoundCurs src/Dodge/Data/SelectionList.hs 21;" C
BoundCurs src/Dodge/Data/SelectionList.hs 22;" C
Bound_box_screen src/Dodge/Data/Config.hs 95;" C
Bounds src/Dodge/Data/Bounds.hs 10;" t
BrigSS src/Dodge/Data/Scenario.hs 102;" C
@@ -285,7 +285,7 @@ CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C
CryostatisSS src/Dodge/Data/Scenario.hs 91;" C
Crystal src/Dodge/Data/Material.hs 16;" C
Cull_more_lights src/Dodge/Data/Config.hs 92;" C
CursorDisplay src/Dodge/Data/SelectionList.hs 20;" t
CursorDisplay src/Dodge/Data/SelectionList.hs 21;" t
Cylinder src/Shape/Data.hs 14;" C
DETECTOR src/Dodge/Data/Item/Combine.hs 33;" C
DROPPER src/Dodge/Data/Item/Combine.hs 26;" C
@@ -355,7 +355,7 @@ DrawForceField src/Dodge/Data/Wall.hs 37;" C
DrawnWall src/Dodge/Data/Wall.hs 33;" C
DroneAmmo src/Dodge/Data/AmmoType.hs 13;" C
DropItem src/Dodge/Data/ActionPlan.hs 38;" C
DropShadowSI src/Dodge/Data/SelectionList.hs 58;" C
DropShadowSI src/Dodge/Data/SelectionList.hs 59;" C
DudPayload src/Dodge/Data/Payload.hs 11;" C
Dungeon src/Dodge/Data/Scenario.hs 66;" C
Dust src/Dodge/Data/Cloud.hs 26;" t
@@ -421,7 +421,7 @@ FilterBySoundOrigin src/Dodge/Data/WorldEffect.hs 22;" C
FireSpark src/Dodge/Data/Spark.hs 19;" C
Fixated src/Dodge/Data/Creature/Perception.hs 60;" C
FixedCoordLayer src/Picture/Data.hs 23;" C
FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C
FixedSelectionWidth src/Dodge/Data/SelectionList.hs 43;" C
FlIt src/Dodge/Data/FloorItem.hs 11;" C
Flame src/Dodge/Data/Flame.hs 11;" t
FlameBeamCombine src/Dodge/Data/Beam.hs 37;" C
@@ -527,7 +527,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
HeldItemType src/Dodge/Data/Item/Combine.hs 140;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HighlightSI src/Dodge/Data/SelectionList.hs 57;" C
HighlightSI src/Dodge/Data/SelectionList.hs 58;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 41;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 42;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C
@@ -552,8 +552,8 @@ HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C
HoverCrit src/Dodge/Data/Creature/Misc.hs 61;" C
Huge src/Shape/Data.hs 23;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 70;" C
IMSI src/Dodge/Data/SelectionList.hs 40;" t
IMSS src/Dodge/Data/SelectionList.hs 38;" t
IMSI src/Dodge/Data/SelectionList.hs 41;" t
IMSS src/Dodge/Data/SelectionList.hs 39;" t
INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C
INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 126;" C
IRONBAR src/Dodge/Data/Item/Combine.hs 79;" C
@@ -592,8 +592,8 @@ IntroScanType src/Dodge/Data/Item/Combine.hs 44;" t
InvInt src/Dodge/Data/Item/Location.hs 16;" t
InventoryChange src/Dodge/Data/World.hs 32;" C
InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 12;" C
InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 60;" C
InventoryHeadSI src/Dodge/Data/SelectionList.hs 59;" C
InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 61;" C
InventoryHeadSI src/Dodge/Data/SelectionList.hs 60;" C
InventoryPathing src/Dodge/Data/Item/Combine.hs 38;" t
InventorySound src/Dodge/Data/SoundOrigin.hs 11;" C
Investigate src/Dodge/Data/ActionPlan.hs 136;" C
@@ -627,8 +627,8 @@ JustStartedPlaying src/Sound/Data.hs 22;" C
KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C
Kill src/Dodge/Data/ActionPlan.hs 152;" C
LASER src/Dodge/Data/Item/Combine.hs 35;" C
LDP src/Dodge/Data/SelectionList.hs 13;" C
LDParams src/Dodge/Data/SelectionList.hs 13;" t
LDP src/Dodge/Data/SelectionList.hs 14;" C
LDParams src/Dodge/Data/SelectionList.hs 14;" t
LED src/Dodge/Data/Item/Combine.hs 175;" C
LIGHTER src/Dodge/Data/Item/Combine.hs 67;" C
LIGHTSENSOR src/Dodge/Data/Item/Combine.hs 80;" C
@@ -837,7 +837,7 @@ NoParams src/Dodge/Data/Item/Params.hs 13;" C
NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C
NoRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C
NoSF src/Dodge/Data/ComposedItem.hs 29;" C
NoSIDisplayMod src/Dodge/Data/SelectionList.hs 56;" C
NoSIDisplayMod src/Dodge/Data/SelectionList.hs 57;" C
NoShadowFidelity src/Shape/Data.hs 20;" C
NoShadows src/Dodge/Data/Config.hs 119;" C
NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C
@@ -1141,7 +1141,7 @@ SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
SHATTERGUN src/Dodge/Data/Item/Combine.hs 174;" C
SHELLMAG src/Dodge/Data/Item/Combine.hs 111;" C
SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 102;" C
SIDisplayMod src/Dodge/Data/SelectionList.hs 55;" t
SIDisplayMod src/Dodge/Data/SelectionList.hs 56;" t
SMG src/Dodge/Data/Item/Combine.hs 148;" C
SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 100;" C
SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 162;" C
@@ -1162,19 +1162,19 @@ ScreenLayer src/Dodge/Data/Universe.hs 81;" t
ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t
Search src/Dodge/Data/ActionPlan.hs 146;" C
SecretCabal src/Dodge/Data/Scenario.hs 44;" C
SectionCursor src/Dodge/Data/SelectionList.hs 24;" t
SectionCursor src/Dodge/Data/SelectionList.hs 25;" t
SeeAbove src/Dodge/Data/Wall.hs 32;" C
SeeThrough src/Dodge/Data/Wall.hs 31;" C
Sel src/Dodge/Data/HUD.hs 39;" C
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 32;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
SelItem src/Dodge/Data/SelectionList.hs 44;" C
SelItem src/Dodge/Data/SelectionList.hs 45;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelSection src/Dodge/Data/SelectionList.hs 30;" t
SelSection src/Dodge/Data/SelectionList.hs 31;" t
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" C
Selection src/Dodge/Data/HUD.hs 39;" t
SelectionItem src/Dodge/Data/SelectionList.hs 44;" t
SelectionWidth src/Dodge/Data/SelectionList.hs 42;" t
SelectionItem src/Dodge/Data/SelectionList.hs 45;" t
SelectionWidth src/Dodge/Data/SelectionList.hs 43;" t
SelfTree src/Dodge/Data/MetaTree.hs 21;" t
SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C
SensorType src/Dodge/Data/Machine/Sensor.hs 12;" t
@@ -1410,7 +1410,7 @@ UseHeld src/Dodge/Data/Item/Use.hs 29;" C
UseInt src/Dodge/Data/Item/Use.hs 31;" C
UseInvItem src/Dodge/Data/WorldEffect.hs 38;" C
UseItem src/Dodge/Data/ActionPlan.hs 36;" C
UseItemWidth src/Dodge/Data/SelectionList.hs 42;" C
UseItemWidth src/Dodge/Data/SelectionList.hs 43;" C
UseMapper src/Dodge/Data/Item/Use.hs 37;" C
UseNothing src/Dodge/Data/Item/Use.hs 32;" C
UseScope src/Dodge/Data/Item/Use.hs 34;" C
@@ -1944,10 +1944,10 @@ _lasWepXSF src/Dodge/Data/ComposedItem.hs 41;" f
_laserEmmiter src/Dodge/Data/Laser.hs 16;" f
_laserTypeDamage src/Dodge/Data/Laser.hs 15;" f
_lasers src/Dodge/Data/LWorld.hs 117;" f
_ldpBorder src/Dodge/Data/SelectionList.hs 17;" f
_ldpPos src/Dodge/Data/SelectionList.hs 14;" f
_ldpScale src/Dodge/Data/SelectionList.hs 15;" f
_ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f
_ldpPos src/Dodge/Data/SelectionList.hs 15;" f
_ldpScale src/Dodge/Data/SelectionList.hs 16;" f
_ldpSize src/Dodge/Data/SelectionList.hs 18;" f
_ldpVerticalGap src/Dodge/Data/SelectionList.hs 17;" f
_leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f
_lightSources src/Dodge/Data/LWorld.hs 137;" f
_lightUBO src/Data/Preload/Render.hs 43;" f
@@ -2268,9 +2268,9 @@ _scrollSmoothing src/Dodge/Data/World.hs 70;" f
_scrollSmoothing src/Dodge/Data/World.hs 76;" f
_scrollTestFloat src/Dodge/Data/Input.hs 48;" f
_scrollTestInt src/Dodge/Data/Input.hs 49;" f
_scurColor src/Dodge/Data/SelectionList.hs 27;" f
_scurPos src/Dodge/Data/SelectionList.hs 25;" f
_scurSize src/Dodge/Data/SelectionList.hs 26;" f
_scurColor src/Dodge/Data/SelectionList.hs 28;" f
_scurPos src/Dodge/Data/SelectionList.hs 26;" f
_scurSize src/Dodge/Data/SelectionList.hs 27;" f
_seDist src/Dodge/Data/PathGraph.hs 44;" f
_seObstacles src/Dodge/Data/PathGraph.hs 45;" f
_seenLocations src/Dodge/Data/LWorld.hs 139;" f
@@ -2293,14 +2293,14 @@ _shapeHalfSize src/Shape/Data.hs 13;" f
_shapeShader src/Data/Preload/Render.hs 28;" f
_shellPayload src/Dodge/Data/Item/Combine.hs 102;" f
_shockwaves src/Dodge/Data/LWorld.hs 116;" f
_siColor src/Dodge/Data/SelectionList.hs 49;" f
_siDisplayMod src/Dodge/Data/SelectionList.hs 52;" f
_siHeight src/Dodge/Data/SelectionList.hs 46;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 48;" f
_siOffX src/Dodge/Data/SelectionList.hs 50;" f
_siPayload src/Dodge/Data/SelectionList.hs 51;" f
_siPictures src/Dodge/Data/SelectionList.hs 45;" f
_siWidth src/Dodge/Data/SelectionList.hs 47;" f
_siColor src/Dodge/Data/SelectionList.hs 50;" f
_siDisplayMod src/Dodge/Data/SelectionList.hs 53;" f
_siHeight src/Dodge/Data/SelectionList.hs 47;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 49;" f
_siOffX src/Dodge/Data/SelectionList.hs 51;" f
_siPayload src/Dodge/Data/SelectionList.hs 52;" f
_siPictures src/Dodge/Data/SelectionList.hs 46;" f
_siWidth src/Dodge/Data/SelectionList.hs 48;" f
_sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f
_silhouetteEBO src/Data/Preload/Render.hs 30;" f
@@ -2330,11 +2330,11 @@ _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f
_spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f
_sparks src/Dodge/Data/LWorld.hs 110;" f
_spawnEBT src/Dodge/Data/Bullet.hs 33;" f
_ssIndent src/Dodge/Data/SelectionList.hs 35;" f
_ssItems src/Dodge/Data/SelectionList.hs 31;" f
_ssOffset src/Dodge/Data/SelectionList.hs 32;" f
_ssShownItems src/Dodge/Data/SelectionList.hs 33;" f
_ssShownLength src/Dodge/Data/SelectionList.hs 34;" f
_ssIndent src/Dodge/Data/SelectionList.hs 36;" f
_ssItems src/Dodge/Data/SelectionList.hs 32;" f
_ssOffset src/Dodge/Data/SelectionList.hs 33;" f
_ssShownItems src/Dodge/Data/SelectionList.hs 34;" f
_ssShownLength src/Dodge/Data/SelectionList.hs 35;" f
_ssboName src/Shader/Data.hs 97;" f
_ssboPtr src/Shader/Data.hs 98;" f
_strideAmount src/Dodge/Data/Creature/Misc.hs 55;" f
@@ -2538,7 +2538,6 @@ activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 82;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f
addDepth src/Picture/Base.hs 125;" f
addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 66;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 41;" f
@@ -2754,7 +2753,6 @@ bossRoom src/Dodge/Room/Boss.hs 55;" f
bounceDir src/Dodge/Bullet.hs 111;" f
bouncePoint src/Dodge/Base/Collide.hs 88;" f
bounceSound src/Dodge/Projectile/Update.hs 74;" f
boundPixelOffset src/Dodge/Update/Input/InGame.hs 142;" f
boundPoints src/Bound.hs 9;" f
boundPointsRect src/Bound.hs 23;" f
boundedGrid src/Grid.hs 17;" f
@@ -2942,7 +2940,7 @@ connectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 753;" f
constructEdges src/Polyhedra.hs 31;" f
constructEdgesList src/Polyhedra.hs 40;" f
contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 58;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 398;" f
continueTerminal src/Dodge/Update/Input/InGame.hs 396;" f
convexHull src/Geometry/Polygon.hs 150;" f
convexHullSafe src/Geometry/Polygon.hs 172;" f
convexPolysOverlap src/Geometry/ConvexPoly.hs 48;" f
@@ -3269,7 +3267,7 @@ doDebugTestF7 src/Dodge/Update/Input/DebugTest.hs 51;" f
doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
doDoorMount src/Dodge/Door.hs 32;" f
doDrag src/Dodge/Update/Input/InGame.hs 150;" f
doDrag src/Dodge/Update/Input/InGame.hs 148;" f
doDrawing src/Dodge/Render.hs 33;" f
doDrawing' src/Dodge/Render.hs 44;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
@@ -3288,7 +3286,7 @@ doPreload appDodge/Main.hs 132;" f
doQuickload src/Dodge/Save.hs 83;" f
doQuicksave src/Dodge/Save.hs 77;" f
doRandImpulse src/Dodge/RandImpulse.hs 8;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 444;" f
doRegexInput src/Dodge/Update/Input/InGame.hs 442;" f
doRoomPlacements src/Dodge/Layout.hs 116;" f
doRoomShift src/Dodge/Room/Link.hs 34;" f
doScopeZoom src/Dodge/Update/Scroll.hs 89;" f
@@ -3431,7 +3429,7 @@ drawSubInventory src/Dodge/Render/HUD.hs 173;" f
drawSwitch src/Dodge/Button/Draw.hs 18;" f
drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
drawTerminalCursorLink src/Dodge/Render/HUD.hs 390;" f
drawTerminalCursorLink src/Dodge/Render/HUD.hs 394;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 357;" f
drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f
drawText src/Picture/Base.hs 224;" f
@@ -3494,8 +3492,8 @@ encircleCloseP src/Dodge/Creature/Boid.hs 38;" f
encircleDistP src/Dodge/Creature/Boid.hs 24;" f
encircleP src/Dodge/Creature/Boid.hs 30;" f
endArcPos src/Dodge/Tesla.hs 86;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 298;" f
endRegex src/Dodge/Update/Input/InGame.hs 292;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 296;" f
endRegex src/Dodge/Update/Input/InGame.hs 290;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 697;" f
enterCombineInv src/Dodge/DisplayInventory.hs 321;" f
enumOption src/Dodge/Menu/OptionType.hs 17;" f
@@ -3648,7 +3646,7 @@ getAutoSpringLinks src/Dodge/Item/Grammar.hs 89;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 173;" f
getBulletType src/Dodge/HeldUse.hs 937;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 530;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 528;" f
getCommand src/Dodge/Terminal.hs 61;" f
getCommands src/Dodge/Terminal.hs 58;" f
getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
@@ -3866,7 +3864,7 @@ invDP src/Dodge/ListDisplayParams.hs 32;" f
invDT src/Dodge/Item/Grammar.hs 225;" f
invDT' src/Dodge/Item/Grammar.hs 230;" f
invDimColor src/Dodge/DisplayInventory.hs 190;" f
invHead src/Dodge/Render/HUD.hs 419;" f
invHead src/Dodge/Render/HUD.hs 423;" f
invIMDT src/Dodge/Item/Grammar.hs 254;" f
invIndents src/Dodge/Item/Grammar.hs 261;" f
invItemEffs src/Dodge/Creature/State.hs 68;" f
@@ -3895,7 +3893,7 @@ isCognizant src/Dodge/Creature/Perception.hs 118;" f
isConnected src/Dodge/Inventory/Swap.hs 77;" f
isCornerLink src/Dodge/RoomLink.hs 66;" f
isFlyable src/Dodge/WorldEvent/ThingsHit.hs 193;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 220;" f
isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 218;" f
isInLnk src/Dodge/PlacementSpot.hs 163;" f
isJust' src/MaybeHelp.hs 27;" f
isLHS src/Geometry/LHS.hs 12;" f
@@ -4056,7 +4054,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 212;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 408;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 412;" f
loadAmmoTut src/Dodge/Room/Tutorial.hs 429;" f
loadDodgeConfig src/Dodge/Config.hs 30;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
@@ -4184,7 +4182,7 @@ maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeClearLoadingScreen src/Dodge/StartNewGame.hs 58;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 136;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 141;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 559;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 557;" f
maybeOpenConsole src/Dodge/Update.hs 134;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 135;" f
@@ -4219,7 +4217,7 @@ memoCylinderIndices src/Shader/Poke.hs 323;" f
memoFlatIndices src/Shader/Poke.hs 311;" f
memoTopPrismEdgeIndices src/Shader/Poke.hs 329;" f
memoTopPrismIndices src/Shader/Poke.hs 317;" f
menuLDP src/Dodge/ListDisplayParams.hs 57;" f
menuLDP src/Dodge/ListDisplayParams.hs 59;" f
menuOptionToSelectionItem src/Dodge/Menu/Option.hs 91;" f
merge src/ListHelp.hs 84;" f
mergeBy src/ListHelp.hs 87;" f
@@ -4422,7 +4420,7 @@ passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 645;" f
pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f
pathEdgeObstructed src/Dodge/Path.hs 87;" f
pauseAndFloatCam src/Dodge/Camera.hs 10;" f
pauseGame src/Dodge/Update/Input/InGame.hs 522;" f
pauseGame src/Dodge/Update/Input/InGame.hs 520;" f
pauseMenu src/Dodge/Menu.hs 57;" f
pauseMenuOptions src/Dodge/Menu.hs 64;" f
pauseSound src/Dodge/SoundLogic.hs 42;" f
@@ -4861,7 +4859,7 @@ scorchSPic src/Dodge/Creature/Update.hs 161;" f
screenBox src/Dodge/Base/Window.hs 54;" f
screenPolygon src/Dodge/Base/Window.hs 18;" f
screenPolygonBord src/Dodge/Base/Window.hs 28;" f
screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenPosAbs src/Dodge/ScreenPos.hs 16;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 45;" f
scrollAugInvSel src/Dodge/Inventory.hs 299;" f
scrollAugNextInSection src/Dodge/Inventory.hs 313;" f
@@ -4885,10 +4883,10 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f
seedStartMenu src/Dodge/Menu.hs 85;" f
seedStartOptions src/Dodge/Menu.hs 88;" f
segOnCirc src/Geometry.hs 113;" f
selNumPos src/Dodge/Render/HUD.hs 468;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 485;" f
selNumPos src/Dodge/Render/HUD.hs 472;" f
selNumPosCardinal src/Dodge/Render/HUD.hs 489;" f
selSecDrawCursor src/Dodge/Render/List.hs 101;" f
selSecSelCol src/Dodge/Render/HUD.hs 505;" f
selSecSelCol src/Dodge/Render/HUD.hs 509;" f
selSecSelSize src/Dodge/SelectionSections.hs 157;" f
selSecYint src/Dodge/SelectionSections.hs 166;" f
selectedItemScroll src/Dodge/Update/Scroll.hs 49;" f
@@ -4928,7 +4926,7 @@ setOutLinksByType src/Dodge/RoomLink.hs 76;" f
setOutLinksPD src/Dodge/RoomLink.hs 96;" f
setPixelOffsetBounded src/Dodge/Update/Input/InGame.hs 132;" f
setRBCreatureTargeting src/Dodge/Creature/State.hs 294;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 347;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 345;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 97;" f
setShaderSource src/Shader/Compile.hs 121;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
@@ -4971,7 +4969,7 @@ shiftByV2 src/Dodge/PlacementSpot.hs 257;" f
shiftChildren src/Dodge/Tree/Compose.hs 45;" f
shiftDraw src/Dodge/Render/ShapePicture.hs 134;" f
shiftInBy src/Dodge/PlacementSpot.hs 254;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 315;" f
shiftInvItems src/Dodge/Update/Input/InGame.hs 313;" f
shiftInvItemsDown src/Dodge/Inventory.hs 181;" f
shiftInvItemsUp src/Dodge/Inventory.hs 191;" f
shiftLinkBy src/Dodge/Room/Link.hs 89;" f
@@ -5093,7 +5091,7 @@ soundWithStatus src/Dodge/SoundLogic.hs 104;" f
soundWithStatusVolume src/Dodge/SoundLogic.hs 54;" f
southPillarsRoom src/Dodge/Room/LongDoor.hs 89;" f
spPos src/ShapePicture/Data.hs 11;" f
spaceAction src/Dodge/Update/Input/InGame.hs 525;" f
spaceAction src/Dodge/Update/Input/InGame.hs 523;" f
spanColLightBlackI src/Dodge/Placement/Instance/LightSource.hs 162;" f
spanColLightI src/Dodge/Placement/Instance/LightSource.hs 155;" f
spanLS src/Dodge/Placement/Instance/LightSource.hs 147;" f
@@ -5151,7 +5149,7 @@ stackedInventory src/Dodge/Creature.hs 326;" f
startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 94;" f
startDeathTimer src/Dodge/Creature/Update.hs 119;" f
startDrag src/Dodge/Update/Input/InGame.hs 307;" f
startDrag src/Dodge/Update/Input/InGame.hs 305;" f
startInvList src/Dodge/Creature.hs 105;" f
startInventory src/Dodge/Creature.hs 108;" f
startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f
@@ -5182,7 +5180,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 80;" f
stringToList src/Picture/Base.hs 308;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 51;" f
subInvX src/Dodge/ListDisplayParams.hs 53;" f
subMap src/TreeHelp.hs 121;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f
subtree src/TreeHelp.hs 72;" f
@@ -5322,7 +5320,7 @@ tone440_30sS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 639;" f
tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 607;" f
tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 665;" f
tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 671;" f
topInvW src/Dodge/ListDisplayParams.hs 54;" f
topInvW src/Dodge/ListDisplayParams.hs 56;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 96;" f
@@ -5379,13 +5377,13 @@ truncate src/Polyhedra/Geodesic.hs 39;" f
trunkDepth src/TreeHelp.hs 164;" f
tryAttachItems src/Dodge/Item/Grammar.hs 34;" f
tryClickUse src/Dodge/Creature/YourControl.hs 207;" f
tryCombine src/Dodge/Update/Input/InGame.hs 542;" f
tryCombine src/Dodge/Update/Input/InGame.hs 540;" f
tryDrawToCapacitor src/Dodge/Creature/State.hs 156;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 161;" f
tryDropSelected src/Dodge/Update/Input/InGame.hs 159;" f
tryGetChannel src/Sound.hs 99;" f
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 23;" f
tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 41;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 168;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 166;" f
tryPlay src/Sound.hs 85;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f
@@ -5437,7 +5435,7 @@ unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f
updateAimPos src/Dodge/Update.hs 384;" f
updateAllNodes src/TreeHelp.hs 88;" f
updateArc src/Dodge/Tesla.hs 43;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 475;" f
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 473;" f
updateBarrel src/Dodge/Barreloid.hs 44;" f
updateBarreloid src/Dodge/Barreloid.hs 16;" f
updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f
@@ -5475,43 +5473,43 @@ updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 751;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 502;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 500;" f
updateExpBarrel src/Dodge/Barreloid.hs 21;" f
updateFlame src/Dodge/Flame.hs 19;" f
updateFlames src/Dodge/Update.hs 748;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 359;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 355;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 357;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 353;" f
updateGas src/Dodge/Update.hs 913;" f
updateGasses src/Dodge/Update.hs 763;" f
updateGusts src/Dodge/Update.hs 875;" f
updateIMl src/Dodge/Update.hs 615;" f
updateIMl' src/Dodge/Update.hs 618;" f
updateInGameCamera src/Dodge/Update/Camera.hs 86;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 425;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 423;" f
updateInt2Map src/Dodge/Zoning/Base.hs 94;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
updateItemTargeting src/Dodge/Creature/State.hs 264;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 392;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 419;" f
updateKeyContinueTerminal src/Dodge/Update/Input/InGame.hs 390;" f
updateKeyInGame src/Dodge/Update/Input/InGame.hs 417;" f
updateKeysInGame src/Dodge/Update/Input/InGame.hs 87;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 378;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 401;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 376;" f
updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 399;" f
updateLampoid src/Dodge/Lampoid.hs 13;" f
updateLaser src/Dodge/Laser/Update.hs 12;" f
updateLasers src/Dodge/Update.hs 500;" f
updateLeftParentSF src/Dodge/Item/Grammar.hs 177;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLivingCreature src/Dodge/Creature/Update.hs 45;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 438;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 436;" f
updateMachine src/Dodge/Machine/Update.hs 24;" f
updateMagnets src/Dodge/Update.hs 392;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 226;" f
updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 224;" f
updateMouseContext src/Dodge/Update.hs 405;" f
updateMouseContextGame src/Dodge/Update.hs 410;" f
updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 100;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 90;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 189;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 187;" f
updateObjCatMaybes src/Dodge/Update.hs 633;" f
updateObjMapMaybe src/Dodge/Update.hs 626;" f
updatePastWorlds src/Dodge/Update.hs 489;" f