Cleanup, improve aiming code

This commit is contained in:
2025-05-31 15:28:30 +01:00
parent 3553ee5bbf
commit 8b07fffa7c
6 changed files with 107 additions and 93 deletions
-2
View File
@@ -33,14 +33,12 @@ useItemLoc ::
useItemLoc cr loc pt w
| HeldPlatformSF <- sf
, fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsRoot
-- , cr ^. crStance . posture == Aiming =
, Aiming {} <- cr ^. crStance . posture =
return $ heldEffect pt (bimap _iatType (^. _1) ldt) cr w
| GadgetPlatformSF <- sf =
return $ gadgetEffect pt loc cr w
| UnderBarrelPlatformSF <- sf
, fromMaybe False $ loc ^? locLDT . ldtValue . _1 . itLocation . ilIsAttached
-- , cr ^. crStance . posture == Aiming =
, Aiming {} <- cr ^. crStance . posture =
return $ heldEffect pt (bimap _iatType (^. _1) ldt) cr w
| RemoteDetonatorSF <- sf
+4 -4
View File
@@ -119,11 +119,11 @@ wasdWithAiming w cr = wasdAim inp cam $ wasdMovement inp cam speed cr
wasdAim :: Input -> Camera -> Creature -> Creature
wasdAim inp cam cr
| Just 0 <- inp ^? mouseButtons . ix SDL.ButtonRight =
setAimPosture cr
| Just 0 <- inp ^? mouseButtonsReleased . ix SDL.ButtonRight =
removeAimPosture cr
| Just 0 <- inp ^? mouseButtons . ix SDL.ButtonRight
, Nothing <- inp ^? mouseButtons . ix SDL.ButtonLeft
= setAimPosture cr
| SDL.ButtonRight `M.member` _mouseButtons inp = aimTurn mouseDir cr
| Aiming <- cr ^. crStance . posture = removeAimPosture cr
| otherwise = creatureTurnTowardDir (_crMvAim cr) 0.2 cr
where
mouseDir = argV $ mouseWorldPos inp cam - (cr ^. crPos)
+1
View File
@@ -38,6 +38,7 @@ data MouseContext
| OverCombEscape
| OverTerminalReturn {_mcoTermID :: Int}
| OverTerminalEscape
| MouseGameRotate
deriving (Show)
data Input = Input
+10
View File
@@ -111,6 +111,7 @@ mouseCursorType u = case u ^. uvWorld . input . mouseContext of
OverCombEscape -> rotate (pi / 4) $ drawPlus 5
OverTerminalReturn{} -> drawReturn 5
OverTerminalEscape -> rotate (pi / 4) $ drawPlus 5
MouseGameRotate -> rotate a (drawVerticalDoubleArrow 5)
where
w = u ^. uvWorld
selsec = u ^? uvWorld . hud . hudElement . diSelection . _Just . _1
@@ -191,6 +192,15 @@ drawDrag x =
y = 0.5 * x
w = 0.3 * x
drawVerticalDoubleArrow :: Float -> Picture
drawVerticalDoubleArrow x =
line [V2 0 z, V2 0 (- z)]
<> line [V2 (- w) (z - w), V2 0 z, V2 w (z - w)]
<> line [V2 (- w) (w - z), V2 0 (- z), V2 w (w - z)]
where
z = 1.5 * x
w = 0.6 * x
drawDragDrop :: Float -> Picture
drawDragDrop x =
line (fmap (+ V2 z (- x)) [V2 (- x) x, V2 0 x, V2 0 (- x)])
+3
View File
@@ -327,6 +327,9 @@ updateMouseContextGame cfig u = case u ^. uvWorld . input . mouseContext of
where
w = u ^. uvWorld
aimcontext
| Just t1 <- w ^. input . mouseButtons . at ButtonLeft
, Just t2 <- w ^. input . mouseButtons . at ButtonRight
, t1 > t2 = MouseGameRotate
| ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming
| otherwise = MouseInGame
mpos = w ^. input . mousePos
+89 -87
View File
@@ -902,7 +902,7 @@ InheritFloor src/Data/Tile.hs 11;" C
InitialPress src/Dodge/Data/Input.hs 16;" C
Initialisation src/Dodge/Initialisation.hs 1;" m
Initialize src/Dodge/Item/Location/Initialize.hs 1;" m
Input src/Dodge/Data/Input.hs 43;" t
Input src/Dodge/Data/Input.hs 44;" t
Input src/Dodge/Data/Input.hs 6;" m
Input src/Dodge/Event/Input.hs 3;" m
Input src/Dodge/Update/Input.hs 1;" m
@@ -1204,6 +1204,7 @@ MountedObject src/Dodge/Data/MountedObject.hs 6;" m
MountedProp src/Dodge/Data/MountedObject.hs 13;" C
MouseAiming src/Dodge/Data/Input.hs 23;" C
MouseContext src/Dodge/Data/Input.hs 21;" t
MouseGameRotate src/Dodge/Data/Input.hs 41;" C
MouseInGame src/Dodge/Data/Input.hs 24;" C
MouseMenuClick src/Dodge/Data/Input.hs 25;" C
MouseMenuCursor src/Dodge/Data/Input.hs 26;" C
@@ -1893,15 +1894,15 @@ TORCH src/Dodge/Data/Item/Combine.hs 174;" C
TRACTORGUN src/Dodge/Data/Item/Combine.hs 168;" C
TRANSFORMER src/Dodge/Data/Item/Combine.hs 63;" C
TRANSMITTER src/Dodge/Data/Item/Combine.hs 69;" C
TSbackspace src/Dodge/Data/Input.hs 64;" C
TSdelete src/Dodge/Data/Input.hs 65;" C
TSdown src/Dodge/Data/Input.hs 70;" C
TSescape src/Dodge/Data/Input.hs 62;" C
TSleft src/Dodge/Data/Input.hs 67;" C
TSreturn src/Dodge/Data/Input.hs 63;" C
TSright src/Dodge/Data/Input.hs 68;" C
TStab src/Dodge/Data/Input.hs 66;" C
TSup src/Dodge/Data/Input.hs 69;" C
TSbackspace src/Dodge/Data/Input.hs 65;" C
TSdelete src/Dodge/Data/Input.hs 66;" C
TSdown src/Dodge/Data/Input.hs 71;" C
TSescape src/Dodge/Data/Input.hs 63;" C
TSleft src/Dodge/Data/Input.hs 68;" C
TSreturn src/Dodge/Data/Input.hs 64;" C
TSright src/Dodge/Data/Input.hs 69;" C
TStab src/Dodge/Data/Input.hs 67;" C
TSup src/Dodge/Data/Input.hs 70;" C
TUBE src/Dodge/Data/Item/Combine.hs 50;" C
Tank src/Dodge/Placement/Instance/Tank.hs 1;" m
Tanks src/Dodge/Room/Tanks.hs 1;" m
@@ -1914,7 +1915,7 @@ TargetingLaser src/Dodge/Data/Laser.hs 18;" C
TargetingType src/Dodge/Data/Item/Targeting.hs 11;" t
TeleSound src/Dodge/Data/SoundOrigin.hs 35;" C
Teleport src/Dodge/Room/Teleport.hs 2;" m
TermSignal src/Dodge/Data/Input.hs 61;" t
TermSignal src/Dodge/Data/Input.hs 62;" t
Terminal src/Dodge/Data/Terminal.hs 32;" t
Terminal src/Dodge/Data/Terminal.hs 6;" m
Terminal src/Dodge/Debug/Terminal.hs 3;" m
@@ -2363,8 +2364,8 @@ _cldtParent src/Dodge/Data/DoubleTree.hs 53;" f
_cldtParent src/Dodge/Data/DoubleTree.hs 62;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 51;" f
_cldtUp src/Dodge/Data/DoubleTree.hs 59;" f
_clickPos src/Dodge/Data/Input.hs 52;" f
_clickWorldPos src/Dodge/Data/Input.hs 54;" f
_clickPos src/Dodge/Data/Input.hs 53;" f
_clickWorldPos src/Dodge/Data/Input.hs 55;" f
_closeButtons src/Dodge/Data/HUD.hs 50;" f
_closeItems src/Dodge/Data/HUD.hs 49;" f
_cloudEBO src/Data/Preload/Render.hs 49;" f
@@ -2617,10 +2618,10 @@ _heldAim src/Dodge/Data/Item/Use.hs 36;" f
_heldDelay src/Dodge/Data/Item/Use.hs 35;" f
_heldFrame src/Dodge/Data/Item/Use.hs 39;" f
_heldParams src/Dodge/Data/Item/Use.hs 37;" f
_heldPos src/Dodge/Data/Input.hs 53;" f
_heldPos src/Dodge/Data/Input.hs 54;" f
_heldTriggerType src/Dodge/Data/Item/Use.hs 38;" f
_heldUseEffect src/Dodge/Data/Item/Use.hs 40;" f
_heldWorldPos src/Dodge/Data/Input.hs 55;" f
_heldWorldPos src/Dodge/Data/Input.hs 56;" f
_hotkeys src/Dodge/Data/LWorld.hs 148;" f
_hud src/Dodge/Data/World.hs 45;" f
_hudElement src/Dodge/Data/HUD.hs 45;" f
@@ -2798,11 +2799,11 @@ _moString src/Dodge/Data/Universe.hs 108;" f
_modOption src/Dodge/Data/Universe.hs 98;" f
_modString src/Dodge/Data/Universe.hs 96;" f
_modifications src/Dodge/Data/LWorld.hs 133;" f
_mouseButtons src/Dodge/Data/Input.hs 48;" f
_mouseButtonsReleased src/Dodge/Data/Input.hs 49;" f
_mouseContext src/Dodge/Data/Input.hs 45;" f
_mouseMoving src/Dodge/Data/Input.hs 46;" f
_mousePos src/Dodge/Data/Input.hs 44;" f
_mouseButtons src/Dodge/Data/Input.hs 49;" f
_mouseButtonsReleased src/Dodge/Data/Input.hs 50;" f
_mouseContext src/Dodge/Data/Input.hs 46;" f
_mouseMoving src/Dodge/Data/Input.hs 47;" f
_mousePos src/Dodge/Data/Input.hs 45;" f
_mtBranches src/Dodge/Data/MetaTree.hs 10;" f
_mtBranches src/Dodge/Tree/Compose/Data.hs 8;" f
_mtLabel src/Dodge/Data/MetaTree.hs 10;" f
@@ -2922,7 +2923,7 @@ _prVel src/Dodge/Data/Prop.hs 24;" f
_prVelZ src/Dodge/Data/Prop.hs 27;" f
_preloadData src/Dodge/Data/Universe.hs 32;" f
_pressPlates src/Dodge/Data/LWorld.hs 136;" f
_pressedKeys src/Dodge/Data/Input.hs 47;" f
_pressedKeys src/Dodge/Data/Input.hs 48;" f
_projectiles src/Dodge/Data/LWorld.hs 105;" f
_props src/Dodge/Data/LWorld.hs 104;" f
_proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f
@@ -3037,14 +3038,14 @@ _scPositionedMenuOption src/Dodge/Data/Universe.hs 84;" f
_scSelectionList src/Dodge/Data/Universe.hs 86;" f
_scTitle src/Dodge/Data/Universe.hs 81;" f
_screenTextureVAO src/Data/Preload/Render.hs 50;" f
_scrollAmount src/Dodge/Data/Input.hs 50;" f
_scrollAmount src/Dodge/Data/Input.hs 51;" f
_scrollItemID src/Dodge/Data/World.hs 64;" f
_scrollItemID src/Dodge/Data/World.hs 73;" f
_scrollItemID src/Dodge/Data/World.hs 77;" f
_scrollSmoothing src/Dodge/Data/World.hs 61;" f
_scrollSmoothing src/Dodge/Data/World.hs 67;" f
_scrollTestFloat src/Dodge/Data/Input.hs 57;" f
_scrollTestInt src/Dodge/Data/Input.hs 58;" f
_scrollTestFloat src/Dodge/Data/Input.hs 58;" f
_scrollTestInt src/Dodge/Data/Input.hs 59;" f
_scurColor src/Dodge/Data/SelectionList.hs 26;" f
_scurPos src/Dodge/Data/SelectionList.hs 24;" f
_scurSize src/Dodge/Data/SelectionList.hs 25;" f
@@ -3103,7 +3104,7 @@ _skinLower src/Dodge/Data/Creature/Misc.hs 73;" f
_skinLower src/Dodge/Data/Creature/Misc.hs 79;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 72;" f
_skinUpper src/Dodge/Data/Creature/Misc.hs 78;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 51;" f
_smoothScrollAmount src/Dodge/Data/Input.hs 52;" f
_soundAngDist src/Sound/Data.hs 53;" f
_soundChannel src/Sound/Data.hs 52;" f
_soundChunkID src/Sound/Data.hs 57;" f
@@ -3160,7 +3161,7 @@ _termID src/Dodge/Data/HUD.hs 42;" f
_terminals src/Dodge/Data/LWorld.hs 126;" f
_teslaArcs src/Dodge/Data/LWorld.hs 115;" f
_testFloat src/Dodge/Data/World.hs 43;" f
_textInput src/Dodge/Data/Input.hs 56;" f
_textInput src/Dodge/Data/Input.hs 57;" f
_textureObject src/Shader/Data.hs 95;" f
_tiSel src/Dodge/Data/Terminal.hs 22;" f
_tiText src/Dodge/Data/Terminal.hs 21;" f
@@ -3385,10 +3386,10 @@ addToTrunk src/TreeHelp.hs 156;" f
addWarningTerminal src/Dodge/Room/Warning.hs 35;" f
addZ src/Geometry/Vector3D.hs 89;" f
adjustIMZone src/Dodge/Base.hs 81;" f
advanceScrollAmount src/Dodge/Update.hs 401;" f
advanceScrollAmount src/Dodge/Update.hs 404;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f
aimDelaySweep src/Dodge/Render/Picture.hs 254;" f
aimDelaySweep src/Dodge/Render/Picture.hs 264;" f
aimStanceInfo src/Dodge/Item/Info.hs 235;" f
aimTurn src/Dodge/Creature/YourControl.hs 161;" f
aimingWeaponHandlePos src/Dodge/Item/HeldOffset.hs 69;" f
@@ -3626,7 +3627,7 @@ chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 43;" f
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
checkConnection src/Dodge/Inventory/Swap.hs 64;" f
checkDeath src/Dodge/Creature/State.hs 78;" f
checkEndGame src/Dodge/Update.hs 698;" f
checkEndGame src/Dodge/Update.hs 701;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f
@@ -3655,7 +3656,7 @@ circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
clClSpringVel src/Dodge/Update.hs 749;" f
clClSpringVel src/Dodge/Update.hs 752;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
clampPath src/Dodge/Room/Procedural.hs 166;" f
@@ -3681,7 +3682,7 @@ closestCreatureID src/Dodge/Debug.hs 116;" f
closestPointOnLine src/Geometry/Intersect.hs 251;" f
closestPointOnLineParam src/Geometry/Intersect.hs 267;" f
closestPointOnSeg src/Geometry/Intersect.hs 282;" f
cloudEffect src/Dodge/Update.hs 719;" f
cloudEffect src/Dodge/Update.hs 722;" f
cloudPoisonDamage src/Dodge/Update/Cloud.hs 9;" f
clsNearCirc src/Dodge/Zoning/Cloud.hs 18;" f
clsNearPoint src/Dodge/Zoning/Cloud.hs 9;" f
@@ -3755,7 +3756,7 @@ crAwayFromPost src/Dodge/Creature/Test.hs 79;" f
crBlips src/Dodge/RadarSweep.hs 87;" f
crCamouflage src/Dodge/Creature/Picture.hs 31;" f
crCanSeeCr src/Dodge/Creature/Test.hs 48;" f
crCrSpring src/Dodge/Update.hs 767;" f
crCrSpring src/Dodge/Update.hs 770;" f
crCurrentEquipment src/Dodge/Creature/Statistics.hs 26;" f
crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 37;" f
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 51;" f
@@ -3775,7 +3776,7 @@ crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 22;" f
crOnWall src/Dodge/WallCreatureCollisions.hs 85;" f
crSafeDistFromTarg src/Dodge/Creature/Test.hs 69;" f
crSetRoots src/Dodge/Inventory/Location.hs 48;" f
crSpring src/Dodge/Update.hs 762;" f
crSpring src/Dodge/Update.hs 765;" f
crStratConMatches src/Dodge/Creature/Test.hs 74;" f
crUpdate src/Dodge/Creature/State.hs 62;" f
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
@@ -4013,7 +4014,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 45;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 198;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 173;" f
displayTerminalLineString src/Dodge/Update.hs 428;" f
displayTerminalLineString src/Dodge/Update.hs 431;" f
dist src/Geometry/Vector.hs 190;" f
dist3 src/Geometry/Vector3D.hs 101;" f
divTo src/Geometry/Zone.hs 6;" f
@@ -4112,7 +4113,7 @@ doWdCrCr src/Dodge/CreatureEffect.hs 12;" f
doWdP2f src/Dodge/WdP2f.hs 12;" f
doWdWd src/Dodge/WorldEffect.hs 28;" f
doWeaponRepetitions src/Dodge/HeldUse.hs 151;" f
doWorldEvents src/Dodge/Update.hs 411;" f
doWorldEvents src/Dodge/Update.hs 414;" f
doWorldPos src/Dodge/WorldPos.hs 7;" f
door src/Dodge/Room/Door.hs 13;" f
doorBetween src/Dodge/Placement/Instance/Door.hs 39;" f
@@ -4127,7 +4128,7 @@ doublePairSet src/Geometry.hs 165;" f
doubleTreeToIndentList src/Dodge/DoubleTree.hs 72;" f
doubleV2 src/Geometry.hs 168;" f
drawARHUD src/Dodge/Creature/State.hs 302;" f
drawAimSweep src/Dodge/Render/Picture.hs 262;" f
drawAimSweep src/Dodge/Render/Picture.hs 272;" f
drawAllShadows src/Dodge/Shadows.hs 5;" f
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
drawBeam src/Dodge/Beam/Draw.hs 6;" f
@@ -4139,7 +4140,7 @@ drawButton src/Dodge/Button/Draw.hs 9;" 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
drawCombFilter src/Dodge/Render/Picture.hs 234;" f
drawCombFilter src/Dodge/Render/Picture.hs 244;" f
drawCombineInventory src/Dodge/Render/HUD.hs 179;" f
drawConcurrentMessage src/Dodge/Render/Picture.hs 68;" f
drawCoord src/Dodge/Debug/Picture.hs 359;" f
@@ -4153,13 +4154,13 @@ drawCursorAt src/Dodge/Render/List.hs 71;" f
drawDDATest src/Dodge/Debug/Picture.hs 286;" f
drawDoorPaths src/Dodge/Debug/Picture.hs 247;" f
drawDoubleLampCover src/Dodge/Prop/Draw.hs 87;" f
drawDrag src/Dodge/Render/Picture.hs 182;" f
drawDragDrop src/Dodge/Render/Picture.hs 194;" f
drawDragPickup src/Dodge/Render/Picture.hs 203;" f
drawDragSelect src/Dodge/Render/Picture.hs 179;" f
drawDrag src/Dodge/Render/Picture.hs 183;" f
drawDragDrop src/Dodge/Render/Picture.hs 204;" f
drawDragPickup src/Dodge/Render/Picture.hs 213;" f
drawDragSelect src/Dodge/Render/Picture.hs 180;" f
drawDragSelected src/Dodge/Render/HUD.hs 132;" f
drawDragSelecting src/Dodge/Render/HUD.hs 149;" f
drawEmptySet src/Dodge/Render/Picture.hs 123;" f
drawEmptySet src/Dodge/Render/Picture.hs 124;" f
drawEnergyBall src/Dodge/EnergyBall/Draw.hs 10;" f
drawEquipment src/Dodge/Creature/Picture.hs 142;" f
drawExamineInventory src/Dodge/Render/HUD.hs 195;" f
@@ -4168,7 +4169,7 @@ drawFlame src/Dodge/Flame/Draw.hs 7;" f
drawFlamelet src/Dodge/EnergyBall/Draw.hs 26;" f
drawFooterText src/Dodge/Render/MenuScreen.hs 72;" f
drawForceField src/Dodge/Wall/Draw.hs 11;" f
drawGapPlus src/Dodge/Render/Picture.hs 245;" f
drawGapPlus src/Dodge/Render/Picture.hs 255;" f
drawGib src/Dodge/Prop/Draw.hs 31;" f
drawHUD src/Dodge/Render/HUD.hs 48;" f
drawInputMenu src/Dodge/Render/MenuScreen.hs 22;" f
@@ -4177,7 +4178,7 @@ drawInspectWalls src/Dodge/Debug/Picture.hs 227;" f
drawInventory src/Dodge/Render/HUD.hs 55;" f
drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f
drawItemConnections src/Dodge/Render/HUD.hs 316;" f
drawJumpDown src/Dodge/Render/Picture.hs 174;" f
drawJumpDown src/Dodge/Render/Picture.hs 175;" f
drawLabCrossCol src/Dodge/Render/Label.hs 8;" f
drawLampCover src/Dodge/Prop/Draw.hs 47;" f
drawLaser src/Dodge/Laser/Draw.hs 6;" f
@@ -4191,8 +4192,8 @@ drawListYoff src/Dodge/Render/List.hs 92;" f
drawMachine src/Dodge/Machine/Draw.hs 17;" f
drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f
drawMapperInventory src/Dodge/Render/HUD.hs 169;" f
drawMenuClick src/Dodge/Render/Picture.hs 146;" f
drawMenuCursor src/Dodge/Render/Picture.hs 160;" f
drawMenuClick src/Dodge/Render/Picture.hs 147;" f
drawMenuCursor src/Dodge/Render/Picture.hs 161;" f
drawMenuOrHUD src/Dodge/Render/Picture.hs 63;" f
drawMenuScreen src/Dodge/Render/MenuScreen.hs 16;" f
drawMouseCursor src/Dodge/Render/Picture.hs 79;" f
@@ -4204,18 +4205,18 @@ drawOptions src/Dodge/Render/MenuScreen.hs 36;" f
drawPathBetween src/Dodge/Debug/Picture.hs 195;" f
drawPathEdge src/Dodge/Debug/Picture.hs 252;" f
drawPathing src/Dodge/Debug/Picture.hs 422;" f
drawPlus src/Dodge/Render/Picture.hs 143;" f
drawPlus src/Dodge/Render/Picture.hs 144;" f
drawPointLabel src/Dodge/Render/Label.hs 13;" f
drawProjectile src/Dodge/Projectile/Draw.hs 13;" f
drawProp src/Dodge/Prop/Draw.hs 18;" f
drawRBOptions src/Dodge/Render/HUD.hs 249;" f
drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f
drawRemoteShell src/Dodge/Projectile/Draw.hs 37;" f
drawReturn src/Dodge/Render/Picture.hs 130;" f
drawReturn src/Dodge/Render/Picture.hs 131;" f
drawRootCursor src/Dodge/Render/HUD.hs 71;" f
drawSSCursor src/Dodge/SelectionSections/Draw.hs 35;" f
drawSSMultiCursor src/Dodge/SelectionSections/Draw.hs 46;" f
drawSelect src/Dodge/Render/Picture.hs 222;" f
drawSelect src/Dodge/Render/Picture.hs 232;" f
drawSelectionList src/Dodge/Render/List.hs 35;" f
drawSelectionListBackground src/Dodge/Render/List.hs 51;" f
drawSelectionSections src/Dodge/SelectionSections/Draw.hs 16;" f
@@ -4239,6 +4240,7 @@ drawTitle src/Dodge/Render/MenuScreen.hs 55;" f
drawTitleBackground src/Dodge/Render/List.hs 44;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
drawTurret src/Dodge/Machine/Draw.hs 65;" f
drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 195;" f
drawVerticalLampCover src/Dodge/Prop/Draw.hs 63;" f
drawWall src/Dodge/Wall/Draw.hs 7;" f
drawWallFace src/Dodge/Debug/Picture.hs 73;" f
@@ -4461,7 +4463,7 @@ getLaserDamage src/Dodge/HeldUse.hs 308;" f
getLaserPhaseV src/Dodge/HeldUse.hs 305;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 371;" f
getMenuMouseContext src/Dodge/Update.hs 374;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 693;" f
getPretty src/AesonHelp.hs 8;" f
@@ -4686,7 +4688,7 @@ isLeftOfA src/Geometry.hs 192;" f
isNothing' src/MaybeHelp.hs 33;" f
isOnSeg src/Geometry.hs 236;" f
isOutLnk src/Dodge/PlacementSpot.hs 164;" f
isOverTerminalScreen src/Dodge/Update.hs 382;" f
isOverTerminalScreen src/Dodge/Update.hs 385;" f
isPutID src/Dodge/Placement/Instance/Wall.hs 129;" f
isRHS src/Geometry/LHS.hs 24;" f
isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f
@@ -5062,7 +5064,7 @@ muzFlareAt src/Dodge/HeldUse.hs 281;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
mvGust src/Dodge/Update.hs 710;" f
mvGust src/Dodge/Update.hs 713;" f
mvLS src/Dodge/Placement/PlaceSpot.hs 217;" f
mvP src/Dodge/Wall/Move.hs 54;" f
mvPP src/Dodge/Placement/PlaceSpot.hs 183;" f
@@ -5326,7 +5328,7 @@ powlistUpToN src/Multiset.hs 23;" f
powlistUpToN' src/Multiset.hs 12;" f
powlistUpToN'' src/Multiset.hs 31;" f
ppDraw src/Dodge/Render/ShapePicture.hs 105;" f
ppEvents src/Dodge/Update.hs 677;" f
ppEvents src/Dodge/Update.hs 680;" f
ppLevelReset src/Dodge/PressPlate.hs 13;" f
preCritStart src/Dodge/Room/Start.hs 82;" f
preloadRender src/Preload/Render.hs 30;" f
@@ -5430,7 +5432,7 @@ randPeakedParam src/RandomHelp.hs 130;" f
randProb src/RandomHelp.hs 68;" f
randSpark src/Dodge/Spark.hs 74;" f
randWallReflect src/Dodge/Tesla/Arc.hs 57;" f
randWallReflect src/Dodge/Update.hs 569;" f
randWallReflect src/Dodge/Update.hs 572;" f
randomChallenges src/Dodge/Room/Start.hs 62;" f
randomCompass src/Dodge/Layout.hs 59;" f
randomFourCornerRoom src/Dodge/Room/Procedural.hs 266;" f
@@ -5678,7 +5680,7 @@ setLinkTypePD src/Dodge/RoomLink.hs 67;" f
setMinInvSize src/Dodge/Creature/Action.hs 145;" f
setMusicVolume src/Sound.hs 161;" f
setMvPos src/Dodge/Creature/ReaderUpdate.hs 51;" f
setOldPos src/Dodge/Update.hs 451;" f
setOldPos src/Dodge/Update.hs 454;" f
setOutLinks src/Dodge/RoomLink.hs 48;" f
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
@@ -5774,9 +5776,9 @@ showEquipItem src/Dodge/Item/Display.hs 102;" f
showInt src/Dodge/Item/Info.hs 67;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 82;" f
showManObj src/Dodge/TestString.hs 78;" f
showManObj src/Dodge/TestString.hs 81;" f
showTerminalError src/Dodge/Debug/Terminal.hs 78;" f
showTimeFlow src/Dodge/TestString.hs 101;" f
showTimeFlow src/Dodge/TestString.hs 104;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f
shrinkVert src/Geometry/Polygon.hs 140;" f
shuffle src/RandomHelp.hs 49;" f
@@ -5784,7 +5786,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 758;" f
simpleCrSprings src/Dodge/Update.hs 761;" f
simpleDamFL src/Dodge/Flame.hs 40;" f
simpleTermMessage src/Dodge/Terminal.hs 253;" f
sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 514;" f
@@ -6022,7 +6024,7 @@ tinMag src/Dodge/Item/Ammo.hs 27;" f
tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f
titleOptionsMenu src/Dodge/Menu.hs 99;" f
titleOptionsNoWrite src/Dodge/Menu.hs 102;" f
tmUpdate src/Dodge/Update.hs 431;" f
tmUpdate src/Dodge/Update.hs 434;" f
toBinary src/Dodge/Inventory/SelectionList.hs 135;" f
toBothLnk src/Dodge/RoomLink.hs 121;" f
toClosestMultiple src/HelpNum.hs 3;" f
@@ -6050,7 +6052,7 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 338;" f
topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 74;" f
topTestPart src/Dodge/TestString.hs 77;" f
torch src/Dodge/Item/Held/Utility.hs 33;" f
torchShape src/Dodge/Item/Draw/SPic.hs 264;" f
torqueCr src/Dodge/WorldEffect.hs 67;" f
@@ -6174,37 +6176,37 @@ updateBaseWheelEvent src/Dodge/Update/Scroll.hs 28;" f
updateBounds src/Dodge/Update/Camera.hs 211;" f
updateBulVel src/Dodge/Bullet.hs 53;" f
updateBullet src/Dodge/Bullet.hs 21;" f
updateBullets src/Dodge/Update.hs 525;" f
updateBullets src/Dodge/Update.hs 528;" f
updateCamera src/Dodge/Update/Camera.hs 27;" f
updateCloseObjects src/Dodge/Inventory.hs 110;" f
updateCloud src/Dodge/Update.hs 724;" f
updateClouds src/Dodge/Update.hs 599;" f
updateCloud src/Dodge/Update.hs 727;" f
updateClouds src/Dodge/Update.hs 602;" f
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f
updateCombineSections src/Dodge/DisplayInventory.hs 44;" f
updateCreature src/Dodge/Creature/Update.hs 13;" f
updateCreatureGroups src/Dodge/Update.hs 497;" f
updateCreatureSoundPositions src/Dodge/Update.hs 473;" f
updateCreatureGroups src/Dodge/Update.hs 500;" f
updateCreatureSoundPositions src/Dodge/Update.hs 476;" f
updateDebugMessageOffset src/Dodge/Update.hs 94;" f
updateDelayedEvents src/Dodge/Update.hs 787;" f
updateDelayedEvents src/Dodge/Update.hs 790;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortions src/Dodge/Update.hs 518;" f
updateDistortions src/Dodge/Update.hs 521;" f
updateEnergyBall src/Dodge/EnergyBall.hs 45;" f
updateEnergyBalls src/Dodge/Update.hs 587;" f
updateEnergyBalls src/Dodge/Update.hs 590;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 478;" f
updateExpBarrel src/Dodge/Barreloid.hs 19;" f
updateFBOTO src/Framebuffer/Update.hs 97;" f
updateFBOTO3 src/Framebuffer/Update.hs 131;" f
updateFlame src/Dodge/Flame.hs 70;" f
updateFlames src/Dodge/Update.hs 584;" f
updateFlames src/Dodge/Update.hs 587;" f
updateFloatingCamera src/Dodge/Update/Camera.hs 32;" f
updateFunctionKey src/Dodge/Update/Input/InGame.hs 362;" f
updateFunctionKeys src/Dodge/Update/Input/InGame.hs 355;" f
updateGusts src/Dodge/Update.hs 707;" f
updateGusts src/Dodge/Update.hs 710;" f
updateHeldRootItem src/Dodge/Creature/State.hs 259;" f
updateHumanoid src/Dodge/Humanoid.hs 13;" f
updateIMl src/Dodge/Update.hs 487;" f
updateIMl' src/Dodge/Update.hs 492;" f
updateIMl src/Dodge/Update.hs 490;" f
updateIMl' src/Dodge/Update.hs 495;" f
updateInGameCamera src/Dodge/Update/Camera.hs 76;" f
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 398;" f
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
@@ -6214,7 +6216,7 @@ updateKeyInGame src/Dodge/Update/Input/InGame.hs 392;" f
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 380;" f
updateLampoid src/Dodge/Lampoid.hs 12;" f
updateLaser src/Dodge/Laser/Update.hs 14;" f
updateLasers src/Dodge/Update.hs 418;" f
updateLasers src/Dodge/Update.hs 421;" f
updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f
updateLongPressInGame src/Dodge/Update/Input/InGame.hs 411;" f
updateMachine src/Dodge/Machine/Update.hs 19;" f
@@ -6226,20 +6228,20 @@ updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 95;" f
updateMouseInGame src/Dodge/Update/Input/InGame.hs 85;" f
updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 156;" f
updateMovement src/Dodge/Creature/State.hs 429;" f
updateObjCatMaybes src/Dodge/Update.hs 509;" f
updateObjMapMaybe src/Dodge/Update.hs 502;" f
updatePastWorlds src/Dodge/Update.hs 406;" f
updateObjCatMaybes src/Dodge/Update.hs 512;" f
updateObjMapMaybe src/Dodge/Update.hs 505;" f
updatePastWorlds src/Dodge/Update.hs 409;" f
updatePosEvent src/Dodge/PosEvent.hs 11;" f
updatePosEvents src/Dodge/Update.hs 596;" f
updatePosEvents src/Dodge/Update.hs 599;" f
updatePreload src/Preload/Update.hs 20;" f
updateProjectile src/Dodge/Projectile/Update.hs 27;" f
updateProp src/Dodge/Prop/Update.hs 11;" f
updatePulse src/Dodge/Creature/Update.hs 22;" f
updateRBList src/Dodge/Inventory/RBList.hs 16;" f
updateRadarBlip src/Dodge/RadarBlip.hs 11;" f
updateRadarBlips src/Dodge/Update.hs 521;" f
updateRadarBlips src/Dodge/Update.hs 524;" f
updateRadarSweep src/Dodge/RadarSweep.hs 39;" f
updateRadarSweeps src/Dodge/Update.hs 590;" f
updateRadarSweeps src/Dodge/Update.hs 593;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 108;" f
updateRootItemID src/Dodge/Inventory/Location.hs 35;" f
@@ -6248,18 +6250,18 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 264;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f
updateShockwave src/Dodge/Shockwave/Update.hs 12;" f
updateShockwaves src/Dodge/Update.hs 581;" f
updateShockwaves src/Dodge/Update.hs 584;" f
updateSingleNodes src/TreeHelp.hs 97;" f
updateSound src/Sound.hs 71;" f
updateSounds src/Sound.hs 66;" f
updateSpark src/Dodge/Spark.hs 19;" f
updateSparks src/Dodge/Update.hs 593;" f
updateSparks src/Dodge/Update.hs 596;" f
updateTempLightSource src/Dodge/LightSource/Update.hs 7;" f
updateTeslaArc src/Dodge/Tesla/Arc.hs 23;" f
updateTeslaArc src/Dodge/Update.hs 535;" f
updateTeslaArcs src/Dodge/Update.hs 532;" f
updateTeslaArc src/Dodge/Update.hs 538;" f
updateTeslaArcs src/Dodge/Update.hs 535;" f
updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f
updateTractorBeams src/Dodge/Update.hs 578;" f
updateTractorBeams src/Dodge/Update.hs 581;" f
updateTurret src/Dodge/Machine/Update.hs 49;" f
updateUniverse src/Dodge/Update.hs 72;" f
updateUniverseFirst src/Dodge/Update.hs 84;" f
@@ -6270,7 +6272,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 22;" f
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 19;" f
updateWheelEvents src/Dodge/Update.hs 396;" f
updateWheelEvents src/Dodge/Update.hs 399;" f
updateWorldEventFlag src/Dodge/Update.hs 119;" f
updateWorldEventFlags src/Dodge/Update.hs 107;" f
upperBody src/Dodge/Creature/Picture.hs 135;" f
@@ -6443,9 +6445,9 @@ zipArcs src/Dodge/Tesla/Arc.hs 110;" f
zipCount src/Dodge/Tree/Shift.hs 129;" f
zipCountDown src/Dodge/Room/Procedural.hs 118;" f
zoneCloud src/Dodge/Zoning/Cloud.hs 27;" f
zoneClouds src/Dodge/Update.hs 425;" f
zoneClouds src/Dodge/Update.hs 428;" f
zoneCreature src/Dodge/Zoning/Creature.hs 53;" f
zoneCreatures src/Dodge/Update.hs 468;" f
zoneCreatures src/Dodge/Update.hs 471;" f
zoneExtract src/Dodge/Zoning/Base.hs 51;" f
zoneMonoid src/Dodge/Zoning/Base.hs 81;" f
zoneOfCirc src/Dodge/Zoning/Base.hs 23;" f