First implementation of ammo distribution via machine

This commit is contained in:
2025-12-09 23:35:02 +00:00
parent 851b26262a
commit f6e0514408
4 changed files with 117 additions and 84 deletions
+1
View File
@@ -41,6 +41,7 @@ tryPutItemInInv cid itid w = do
& cWorld . lWorld . items . ix itid . itLocation .~ itloc & cWorld . lWorld . items . ix itid . itLocation .~ itloc
& cWorld . lWorld . floorItems . at itid .~ Nothing & cWorld . lWorld . floorItems . at itid .~ Nothing
& updateselectionextra invid & updateselectionextra invid
& cWorld . highlightItems . at itid ?~ 20
where where
updateselectionextra i updateselectionextra i
| cid == 0 = (hud . diSelection . _Just . slSet %~ IS.map (f i)) | cid == 0 = (hud . diSelection . _Just . slSet %~ IS.map (f i))
+4
View File
@@ -2,6 +2,7 @@
module Dodge.Item.MagAmmoType ( module Dodge.Item.MagAmmoType (
magAmmoType, magAmmoType,
magMax,
) where ) where
import Control.Lens import Control.Lens
@@ -24,3 +25,6 @@ mAT = \case
SHELLMAG -> LauncherAmmo SHELLMAG -> LauncherAmmo
BATTERY -> ElectricalAmmo BATTERY -> ElectricalAmmo
CHEMFUELPOUCH -> GasAmmo CHEMFUELPOUCH -> GasAmmo
magMax :: Item -> Maybe Int
magMax _ = Just 100
+29 -3
View File
@@ -6,6 +6,10 @@ module Dodge.WorldEffect (
doTmWdWd, doTmWdWd,
) where ) where
import Data.Traversable (mapAccumR)
import Dodge.Item.MagAmmoType
import qualified Data.IntSet as IS
import Dodge.Data.AmmoType
import Color import Color
import Dodge.Terminal import Dodge.Terminal
import NewInt import NewInt
@@ -115,13 +119,35 @@ tmDistributeAmmo tm w = fromMaybe w $ do
sid <- w ^? cWorld . lWorld . machines . ix mid sid <- w ^? cWorld . lWorld . machines . ix mid
. mcType . mcdStorageMachine . _Just . mcType . mcdStorageMachine . _Just
McStorage atype aamount <- w ^? cWorld . lWorld . machines . ix sid . mcType McStorage atype aamount <- w ^? cWorld . lWorld . machines . ix sid . mcType
return $ w & cWorld . lWorld . terminals . ix (tm ^. tmID) . tmStatus let (x',w') = distributeAmmoToYou atype aamount w
.~ TerminalPressTo "" return $ w'
& cWorld . lWorld . machines . ix sid . mcType . mcsAmount .~ x'
& cWorld . lWorld . terminals . ix (tm ^. tmID) . tmFutureLines .~ & cWorld . lWorld . terminals . ix (tm ^. tmID) . tmFutureLines .~
[TLine 1 [TerminalLineConst "" yellow] (TmTmSetStatus (TerminalPressTo "RETRY")) [TLine 1 [TerminalLineConst (show x' <>" "<>show atype<>" REMAINING IN STORAGE") white] TmWdId
,TLine 1 [TerminalLineConst "" yellow] (TmTmSetStatus (TerminalPressTo "RETRY"))
,TLine 1 [TerminalLineConst "" white] TmWdWdPowerDownTerminal ,TLine 1 [TerminalLineConst "" white] TmWdWdPowerDownTerminal
] ]
distributeAmmoToYou :: AmmoType -> Int -> World -> (Int,World)
distributeAmmoToYou atype x w = fromMaybe (0,w) $ do
is <- fmap IM.elems $ w ^? cWorld . lWorld . creatures . ix 0 . crInv . unNIntMap
let itms = IM.filter (\itm -> magAmmoType itm == Just atype) $
IM.restrictKeys (w ^. cWorld . lWorld . items) (IS.fromList is)
(x',itmams) = mapAccumR distributeAmmoToItem x itms
return (x', IM.foldlWithKey' f w itmams)
where
f w' i y = w' & cWorld . highlightItems . at i ?~ 20
& cWorld . lWorld . items . ix i . itConsumables . _Just .~ y
distributeAmmoToItem :: Int -> Item -> (Int,Int)
distributeAmmoToItem x itm = fromMaybe (x,0) $ do
m <- magMax itm
cur <- itm ^. itConsumables
let d = m - cur
t = min x d
return (x-t,cur+t)
resetTerminal :: TerminalStatus -> Terminal -> World -> World resetTerminal :: TerminalStatus -> Terminal -> World -> World
resetTerminal x tm = resetTerminal x tm =
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ x) (cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ x)
+83 -81
View File
@@ -520,6 +520,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C
HeldItemType src/Dodge/Data/Item/Combine.hs 138;" t HeldItemType src/Dodge/Data/Item/Combine.hs 138;" t
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C HeldPlatformSF src/Dodge/Data/ComposedItem.hs 14;" C
HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C
HighlightSI src/Dodge/Data/SelectionList.hs 54;" C
HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 41;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 41;" C
HomeUsingTargeting src/Dodge/Data/Projectile.hs 42;" C HomeUsingTargeting src/Dodge/Data/Projectile.hs 42;" C
Hospital src/Dodge/Data/Scenario.hs 69;" C Hospital src/Dodge/Data/Scenario.hs 69;" C
@@ -1127,7 +1128,7 @@ SCRAPMETAL src/Dodge/Data/Item/Combine.hs 61;" C
SHATTERGUN src/Dodge/Data/Item/Combine.hs 173;" C SHATTERGUN src/Dodge/Data/Item/Combine.hs 173;" C
SHELLMAG src/Dodge/Data/Item/Combine.hs 109;" C SHELLMAG src/Dodge/Data/Item/Combine.hs 109;" C
SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 101;" C SHELLPAYLOAD src/Dodge/Data/Item/Combine.hs 101;" C
SIDisplayMod src/Dodge/Data/SelectionList.hs 53;" t SIDisplayMod src/Dodge/Data/SelectionList.hs 52;" t
SMG src/Dodge/Data/Item/Combine.hs 146;" C SMG src/Dodge/Data/Item/Combine.hs 146;" C
SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 99;" C SMOKEREDUCER src/Dodge/Data/Item/Combine.hs 99;" C
SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 160;" C SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 160;" C
@@ -1155,7 +1156,7 @@ SeeThrough src/Dodge/Data/Wall.hs 31;" C
Sel src/Dodge/Data/HUD.hs 39;" C Sel src/Dodge/Data/HUD.hs 39;" C
SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C SelCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" C
SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C SelCloseItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" C
SelItem src/Dodge/Data/SelectionList.hs 42;" C SelItem src/Dodge/Data/SelectionList.hs 41;" C
SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" C SelNothing src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" C
SelSection src/Dodge/Data/SelectionList.hs 29;" t SelSection src/Dodge/Data/SelectionList.hs 29;" t
SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C SelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 21;" C
@@ -2266,14 +2267,14 @@ _shapeHalfSize src/Shape/Data.hs 13;" f
_shapeShader src/Data/Preload/Render.hs 28;" f _shapeShader src/Data/Preload/Render.hs 28;" f
_shellPayload src/Dodge/Data/Item/Combine.hs 101;" f _shellPayload src/Dodge/Data/Item/Combine.hs 101;" f
_shockwaves src/Dodge/Data/LWorld.hs 113;" f _shockwaves src/Dodge/Data/LWorld.hs 113;" f
_siColor src/Dodge/Data/SelectionList.hs 47;" f _siColor src/Dodge/Data/SelectionList.hs 46;" f
_siDisplayMod src/Dodge/Data/SelectionList.hs 50;" f _siDisplayMod src/Dodge/Data/SelectionList.hs 49;" f
_siHeight src/Dodge/Data/SelectionList.hs 44;" f _siHeight src/Dodge/Data/SelectionList.hs 43;" f
_siIsSelectable src/Dodge/Data/SelectionList.hs 46;" f _siIsSelectable src/Dodge/Data/SelectionList.hs 45;" f
_siOffX src/Dodge/Data/SelectionList.hs 48;" f _siOffX src/Dodge/Data/SelectionList.hs 47;" f
_siPayload src/Dodge/Data/SelectionList.hs 49;" f _siPayload src/Dodge/Data/SelectionList.hs 48;" f
_siPictures src/Dodge/Data/SelectionList.hs 43;" f _siPictures src/Dodge/Data/SelectionList.hs 42;" f
_siWidth src/Dodge/Data/SelectionList.hs 45;" f _siWidth src/Dodge/Data/SelectionList.hs 44;" f
_sideEffect src/Loop/Data.hs 13;" f _sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f _sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f
_silhouetteEBO src/Data/Preload/Render.hs 30;" f _silhouetteEBO src/Data/Preload/Render.hs 30;" f
@@ -2510,7 +2511,7 @@ addArmour src/Dodge/Creature.hs 82;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f
addCrGibs src/Dodge/Prop/Gib.hs 17;" f addCrGibs src/Dodge/Prop/Gib.hs 17;" f
addDepth src/Picture/Base.hs 133;" f addDepth src/Picture/Base.hs 134;" f
addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f
addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f
addGib4 src/Dodge/Prop/Gib.hs 52;" f addGib4 src/Dodge/Prop/Gib.hs 52;" f
@@ -2597,10 +2598,10 @@ applyTorqueCME src/Dodge/HeldUse.hs 570;" f
applyWorldConfig src/Dodge/Config.hs 55;" f applyWorldConfig src/Dodge/Config.hs 55;" f
aquamarine src/Color.hs 23;" f aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f arHUD src/Dodge/Item/Scope.hs 134;" f
arc src/Picture/Base.hs 287;" f arc src/Picture/Base.hs 291;" f
arcFull src/Picture/Arc.hs 11;" f arcFull src/Picture/Arc.hs 11;" f
arcPart src/Picture/Arc.hs 24;" f arcPart src/Picture/Arc.hs 24;" f
arcSolid src/Picture/Base.hs 276;" f arcSolid src/Picture/Base.hs 280;" f
arcStepwise src/Geometry.hs 326;" f arcStepwise src/Geometry.hs 326;" f
arcStepwisePositive src/Geometry.hs 340;" f arcStepwisePositive src/Geometry.hs 340;" f
arcTest src/Picture/Test.hs 9;" f arcTest src/Picture/Test.hs 9;" f
@@ -2679,12 +2680,12 @@ batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 84;" f belowNumX src/Dodge/Combine/Graph.hs 84;" f
beltMag src/Dodge/Item/Ammo.hs 39;" f beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 119;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f
bgunSound src/Dodge/HeldUse.hs 514;" f bgunSound src/Dodge/HeldUse.hs 514;" f
bindFBO src/Render.hs 235;" f bindFBO src/Render.hs 235;" f
bingate src/Dodge/Item/Scope.hs 109;" f bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f black src/Color.hs 27;" f
blank src/Picture/Base.hs 59;" f blank src/Picture/Base.hs 60;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
blinkActionFail src/Dodge/Creature/Action/Blink.hs 87;" f blinkActionFail src/Dodge/Creature/Action/Blink.hs 87;" f
blinkActionMousePos src/Dodge/Creature/Action/Blink.hs 24;" f blinkActionMousePos src/Dodge/Creature/Action/Blink.hs 24;" f
@@ -2736,7 +2737,7 @@ branchWith src/Dodge/Room/Room.hs 77;" f
bright src/Color.hs 120;" f bright src/Color.hs 120;" f
brightX src/Color.hs 116;" f brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 131;" f btSPic src/Dodge/Render/ShapePicture.hs 131;" f
btText src/Dodge/Inventory/SelectionList.hs 240;" f btText src/Dodge/Inventory/SelectionList.hs 242;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 429;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 429;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
@@ -2767,7 +2768,7 @@ cardinalVectors src/Dodge/FloorItem.hs 24;" f
cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f cdtPropagateFold src/Dodge/DoubleTree.hs 407;" f
ceilingTo src/Geometry/Zone.hs 15;" f ceilingTo src/Geometry/Zone.hs 15;" f
cenLasTur src/Dodge/Room/LasTurret.hs 34;" f cenLasTur src/Dodge/Room/LasTurret.hs 34;" f
centerText src/Picture/Base.hs 184;" f centerText src/Picture/Base.hs 185;" f
centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f centerVaultExplosiveExit src/Dodge/Room/NoNeedWeapon.hs 20;" f
centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f centerVaultRoom src/Dodge/Room/Procedural.hs 269;" f
centroid src/Geometry/Polygon.hs 169;" f centroid src/Geometry/Polygon.hs 169;" f
@@ -2776,7 +2777,7 @@ chainPairs src/Geometry.hs 360;" f
changeSwapOther src/Dodge/Inventory.hs 141;" f changeSwapOther src/Dodge/Inventory.hs 141;" f
changeSwapSel src/Dodge/Inventory.hs 134;" f changeSwapSel src/Dodge/Inventory.hs 134;" f
changeSwapWith src/Dodge/Inventory.hs 175;" f changeSwapWith src/Dodge/Inventory.hs 175;" f
charToTuple src/Picture/Base.hs 317;" f charToTuple src/Picture/Base.hs 321;" f
charToTupleGrad src/Picture/Text.hs 18;" f charToTupleGrad src/Picture/Text.hs 18;" f
chartreuse src/Color.hs 24;" f chartreuse src/Color.hs 24;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f
@@ -2816,10 +2817,10 @@ circOnAnyCr src/Dodge/Base/Collide.hs 292;" f
circOnSeg src/Geometry.hs 101;" f circOnSeg src/Geometry.hs 101;" f
circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSegNoEndpoints src/Geometry.hs 91;" f
circOnSomeWall src/Dodge/Base/Collide.hs 286;" f circOnSomeWall src/Dodge/Base/Collide.hs 286;" f
circle src/Picture/Base.hs 180;" f circle src/Picture/Base.hs 181;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f
circleSolid src/Picture/Base.hs 164;" f circleSolid src/Picture/Base.hs 165;" f
circleSolidCol src/Picture/Base.hs 168;" f circleSolidCol src/Picture/Base.hs 169;" f
clAlt src/Dodge/Cloud.hs 5;" f clAlt src/Dodge/Cloud.hs 5;" f
clColor src/Shader/Poke/Cloud.hs 39;" f clColor src/Shader/Poke/Cloud.hs 39;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 24;" f clZoneSize src/Dodge/Zoning/Cloud.hs 24;" f
@@ -2839,9 +2840,9 @@ clicker src/Dodge/Item/Scope.hs 82;" f
clipV src/Geometry/Vector.hs 48;" f clipV src/Geometry/Vector.hs 48;" f
clipZoom src/Dodge/Update/Camera.hs 237;" f clipZoom src/Dodge/Update/Camera.hs 237;" f
clockCycle src/Dodge/Clock.hs 7;" f clockCycle src/Dodge/Clock.hs 7;" f
closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 225;" f closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 227;" f
closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 209;" f closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 211;" f
closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 246;" f closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 248;" f
closeObjectInfo src/Dodge/Render/HUD.hs 228;" f closeObjectInfo src/Dodge/Render/HUD.hs 228;" f
closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f
closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f
@@ -2870,7 +2871,7 @@ collideCircWalls src/Dodge/Base/Collide.hs 253;" f
collidePoint src/Dodge/Base/Collide.hs 52;" f collidePoint src/Dodge/Base/Collide.hs 52;" f
collidePointTestFilter src/Dodge/Base/Collide.hs 188;" f collidePointTestFilter src/Dodge/Base/Collide.hs 188;" f
collidePointWallsFilter src/Dodge/Base/Collide.hs 202;" f collidePointWallsFilter src/Dodge/Base/Collide.hs 202;" f
color src/Picture/Base.hs 108;" f color src/Picture/Base.hs 109;" f
colorLamp src/Dodge/Creature/Lamp.hs 10;" f colorLamp src/Dodge/Creature/Lamp.hs 10;" f
colorSH src/Shape.hs 233;" f colorSH src/Shape.hs 233;" f
combinationsDotGraph src/Dodge/Combine/Graph.hs 93;" f combinationsDotGraph src/Dodge/Combine/Graph.hs 93;" f
@@ -2971,7 +2972,7 @@ crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 622;" f
createForceField src/Dodge/ForceField.hs 7;" f createForceField src/Dodge/ForceField.hs 7;" f
createGas src/Dodge/Gas.hs 10;" f createGas src/Dodge/Gas.hs 10;" f
createHeadLamp src/Dodge/Euse.hs 58;" f createHeadLamp src/Dodge/Euse.hs 58;" f
createItemYou src/Dodge/Inventory/Add.hs 61;" f createItemYou src/Dodge/Inventory/Add.hs 62;" f
createLightMap src/Render.hs 28;" f createLightMap src/Render.hs 28;" f
createProjectile src/Dodge/HeldUse.hs 1276;" f createProjectile src/Dodge/HeldUse.hs 1276;" f
createProjectileR src/Dodge/HeldUse.hs 1225;" f createProjectileR src/Dodge/HeldUse.hs 1225;" f
@@ -3169,7 +3170,7 @@ displayControls src/Dodge/Menu.hs 241;" f
displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFrameTicks src/Dodge/Render/Picture.hs 50;" f
displayFreeSlots src/Dodge/DisplayInventory.hs 193;" f displayFreeSlots src/Dodge/DisplayInventory.hs 193;" f
displayIndents src/Dodge/DisplayInventory.hs 110;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f
displayPulse src/Dodge/Inventory/SelectionList.hs 180;" f displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f
displayTerminalLineString src/Dodge/Update.hs 486;" f displayTerminalLineString src/Dodge/Update.hs 486;" f
dist src/Geometry/Vector.hs 185;" f dist src/Geometry/Vector.hs 185;" f
dist3 src/Geometry/Vector3D.hs 101;" f dist3 src/Geometry/Vector3D.hs 101;" f
@@ -3371,7 +3372,7 @@ drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
drawTerminalDisplay src/Dodge/Render/HUD.hs 362;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 362;" f
drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f
drawText src/Picture/Base.hs 220;" f drawText src/Picture/Base.hs 224;" f
drawTitle src/Dodge/Render/MenuScreen.hs 49;" f drawTitle src/Dodge/Render/MenuScreen.hs 49;" f
drawTitleBackground src/Dodge/Render/List.hs 45;" f drawTitleBackground src/Dodge/Render/List.hs 45;" f
drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f
@@ -3435,9 +3436,9 @@ endArcPos src/Dodge/Tesla.hs 87;" f
endCombineRegex src/Dodge/Update/Input/InGame.hs 271;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 271;" f
endRegex src/Dodge/Update/Input/InGame.hs 265;" f endRegex src/Dodge/Update/Input/InGame.hs 265;" f
energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f
enterCombineInv src/Dodge/DisplayInventory.hs 318;" f enterCombineInv src/Dodge/DisplayInventory.hs 320;" f
enumOption src/Dodge/Menu/OptionType.hs 17;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f
epText src/Dodge/Inventory/SelectionList.hs 77;" f epText src/Dodge/Inventory/SelectionList.hs 79;" f
eqConstr src/SameConstr.hs 17;" f eqConstr src/SameConstr.hs 17;" f
eqPosText src/Dodge/Equipment/Text.hs 5;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f
eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f
@@ -3598,7 +3599,7 @@ getDistortions src/Dodge/Render.hs 441;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 148;" f getItemValue src/Dodge/Inventory/SelectionList.hs 150;" f
getLaserColor src/Dodge/HeldUse.hs 707;" f getLaserColor src/Dodge/HeldUse.hs 707;" f
getLaserDamage src/Dodge/HeldUse.hs 704;" f getLaserDamage src/Dodge/HeldUse.hs 704;" f
getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLaserPhaseV src/Dodge/HeldUse.hs 701;" f
@@ -3661,6 +3662,7 @@ gut4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 492;" f
gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f gut5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 726;" f
gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f gut6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 682;" f
gyroscope src/Dodge/Item/Scope.hs 156;" f gyroscope src/Dodge/Item/Scope.hs 156;" f
hackBoldText src/Picture/Base.hs 198;" f
hackOutline src/Dodge/Render/Outline.hs 5;" f hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 49;" f halfHeight src/Dodge/Base/Window.hs 49;" f
halfWidth src/Dodge/Base/Window.hs 49;" f halfWidth src/Dodge/Base/Window.hs 49;" f
@@ -3725,9 +3727,9 @@ holdForm src/Dodge/Creature/Boid.hs 139;" f
holsterWeapon src/Dodge/Creature/Volition.hs 15;" f holsterWeapon src/Dodge/Creature/Volition.hs 15;" f
homingModule src/Dodge/Item/Scope.hs 48;" f homingModule src/Dodge/Item/Scope.hs 48;" f
horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f
hotkeyToChar src/Dodge/Inventory/SelectionList.hs 189;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 191;" f
hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f
hotkeyToString src/Dodge/Inventory/SelectionList.hs 186;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 188;" f
iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f
icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f
icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f
@@ -3790,7 +3792,7 @@ intersectSegsSeg src/Geometry/Intersect.hs 253;" f
intervalList src/Geometry.hs 312;" f intervalList src/Geometry.hs 312;" f
interweave src/Justify.hs 17;" f interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 81;" f introScanValue src/Dodge/Inventory/SelectionList.hs 83;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 235;" f invAdj src/Dodge/Item/Grammar.hs 235;" f
invCursorParams src/Dodge/ListDisplayParams.hs 37;" f invCursorParams src/Dodge/ListDisplayParams.hs 37;" f
@@ -3867,9 +3869,9 @@ itemBulkiness src/Dodge/Creature/YourControl.hs 188;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 59;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 59;" f
itemDetectorEffect src/Dodge/HeldUse.hs 794;" f itemDetectorEffect src/Dodge/HeldUse.hs 794;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 51;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 86;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 88;" f
itemFromAmmoMag src/Dodge/Item.hs 42;" f itemFromAmmoMag src/Dodge/Item.hs 42;" f
itemFromAttachType src/Dodge/Item.hs 51;" f itemFromAttachType src/Dodge/Item.hs 51;" f
itemFromBase src/Dodge/Item.hs 18;" f itemFromBase src/Dodge/Item.hs 18;" f
@@ -3885,8 +3887,8 @@ itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f
itemScan src/Dodge/Item/Scope.hs 63;" f itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 57;" f itemScroll src/Dodge/Update/Scroll.hs 57;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 125;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 127;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 152;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 154;" f
itemShapeMax src/Dodge/Item/Orientation.hs 56;" f itemShapeMax src/Dodge/Item/Orientation.hs 56;" f
itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f
itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f
@@ -3974,14 +3976,14 @@ lightSensor src/Dodge/Placement/Instance/Sensor.hs 40;" f
lightsToRender src/Dodge/Render/Lights.hs 14;" f lightsToRender src/Dodge/Render/Lights.hs 14;" f
lightx4 src/Color.hs 145;" f lightx4 src/Color.hs 145;" f
linGrad src/Geometry/Intersect.hs 241;" f linGrad src/Geometry/Intersect.hs 241;" f
line src/Picture/Base.hs 226;" f line src/Picture/Base.hs 230;" f
lineCol src/Picture/Base.hs 230;" f lineCol src/Picture/Base.hs 234;" f
lineGeom src/Dodge/Base.hs 32;" f lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 128;" f lineOrth src/Dodge/Creature/Boid.hs 128;" f
lineOutputTerminal src/Dodge/Room/Warning.hs 66;" f lineOutputTerminal src/Dodge/Room/Warning.hs 66;" f
lineSplit src/Justify.hs 26;" f lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f lineThick src/Picture/Base.hs 238;" f
lineUp src/Dodge/Creature/Boid.hs 150;" f lineUp src/Dodge/Creature/Boid.hs 150;" f
linksDAGToPath src/Dodge/Room/Path.hs 13;" f linksDAGToPath src/Dodge/Room/Path.hs 13;" f
linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
@@ -3989,7 +3991,7 @@ listConfig src/Dodge/Menu.hs 234;" f
listControls src/Dodge/Menu.hs 246;" f listControls src/Dodge/Menu.hs 246;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 303;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f lmt src/MatrixHelper.hs 53;" f
lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 389;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 389;" f
@@ -4057,7 +4059,7 @@ magenta src/Color.hs 19;" f
main appDodge/Main.hs 28;" f main appDodge/Main.hs 28;" f
main bench/Bench.hs 15;" f main bench/Bench.hs 15;" f
main test/Spec.hs 12;" f main test/Spec.hs 12;" f
makeArc src/Picture/Base.hs 157;" f makeArc src/Picture/Base.hs 158;" f
makeAttach src/Dodge/Item/Attach.hs 10;" f makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 70;" f makeBlip src/Dodge/RadarSweep.hs 70;" f
makeBlockDebris src/Dodge/Block/Debris.hs 36;" f makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
@@ -4187,8 +4189,8 @@ miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 756;" f
miniTree2 src/Dodge/Room/Room.hs 121;" f miniTree2 src/Dodge/Room/Room.hs 121;" f
minimumOn src/FoldlHelp.hs 14;" f minimumOn src/FoldlHelp.hs 14;" f
mirrorXAxis src/Geometry/Polygon.hs 68;" f mirrorXAxis src/Geometry/Polygon.hs 68;" f
mirrorxz src/Picture/Base.hs 335;" f mirrorxz src/Picture/Base.hs 339;" f
mirroryz src/Picture/Base.hs 340;" f mirroryz src/Picture/Base.hs 344;" f
missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f
mixColors src/Color.hs 86;" f mixColors src/Color.hs 86;" f
mixColorsFrac src/Color.hs 82;" f mixColorsFrac src/Color.hs 82;" f
@@ -4316,13 +4318,13 @@ orthogonalPointOnSeg src/Geometry/Intersect.hs 312;" f
outLink src/Dodge/RoomLink.hs 120;" f outLink src/Dodge/RoomLink.hs 120;" f
outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f
outwardIntegers src/Dodge/Base.hs 181;" f outwardIntegers src/Dodge/Base.hs 181;" f
overCol src/Picture/Base.hs 308;" f overCol src/Picture/Base.hs 312;" f
overColObj src/Shape.hs 269;" f overColObj src/Shape.hs 269;" f
overColSH src/Shape.hs 237;" f overColSH src/Shape.hs 237;" f
overDebugEvent src/Dodge/Debug.hs 31;" f overDebugEvent src/Dodge/Debug.hs 31;" f
overLnkPosDir src/Dodge/RoomLink.hs 115;" f overLnkPosDir src/Dodge/RoomLink.hs 115;" f
overLnkType src/Dodge/RoomLink.hs 105;" f overLnkType src/Dodge/RoomLink.hs 105;" f
overPos src/Picture/Base.hs 303;" f overPos src/Picture/Base.hs 307;" f
overPosObj src/Shape.hs 273;" f overPosObj src/Shape.hs 273;" f
overPosSH src/Shape.hs 257;" f overPosSH src/Shape.hs 257;" f
overPosSP src/ShapePicture.hs 41;" f overPosSP src/ShapePicture.hs 41;" f
@@ -4365,9 +4367,9 @@ performPathTo src/Dodge/Creature/Action.hs 116;" f
performTurnToA src/Dodge/Creature/Action.hs 128;" f performTurnToA src/Dodge/Creature/Action.hs 128;" f
perspectiveMatrixb src/MatrixHelper.hs 11;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f
picFormat src/Polyhedra.hs 23;" f picFormat src/Polyhedra.hs 23;" f
picMap src/Picture/Base.hs 67;" f picMap src/Picture/Base.hs 68;" f
pickUpItem src/Dodge/Inventory/Add.hs 69;" f pickUpItem src/Dodge/Inventory/Add.hs 70;" f
pickUpItemAt src/Dodge/Inventory/Add.hs 74;" f pickUpItemAt src/Dodge/Inventory/Add.hs 75;" f
pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 660;" f pickUpS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 660;" f
pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP src/Dodge/Creature/Boid.hs 63;" f
pincerP' src/Dodge/Creature/Boid.hs 96;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f
@@ -4447,8 +4449,8 @@ pokeVerxs src/Shader/Poke.hs 32;" f
pokeW src/Shader/Poke.hs 91;" f pokeW src/Shader/Poke.hs 91;" f
pokeWall src/Shader/Poke.hs 80;" f pokeWall src/Shader/Poke.hs 80;" f
pokeWallsWindows src/Shader/Poke.hs 52;" f pokeWallsWindows src/Shader/Poke.hs 52;" f
poly3 src/Picture/Base.hs 84;" f poly3 src/Picture/Base.hs 85;" f
poly3Col src/Picture/Base.hs 88;" f poly3Col src/Picture/Base.hs 89;" f
polyChasm src/Dodge/Room/Tutorial.hs 182;" f polyChasm src/Dodge/Room/Tutorial.hs 182;" f
polyChasmC src/Dodge/Room/Tutorial.hs 191;" f polyChasmC src/Dodge/Room/Tutorial.hs 191;" f
polyCirc src/Shape.hs 47;" f polyCirc src/Shape.hs 47;" f
@@ -4463,9 +4465,9 @@ polyToPics src/Polyhedra.hs 122;" f
polyToTris src/Geometry/Triangulate.hs 7;" f polyToTris src/Geometry/Triangulate.hs 7;" f
polyToTris' src/Geometry.hs 172;" f polyToTris' src/Geometry.hs 172;" f
polyToTris'' src/Geometry/Triangulate.hs 15;" f polyToTris'' src/Geometry/Triangulate.hs 15;" f
polygon src/Picture/Base.hs 72;" f polygon src/Picture/Base.hs 73;" f
polygonCol src/Picture/Base.hs 78;" f polygonCol src/Picture/Base.hs 79;" f
polygonWire src/Picture/Base.hs 63;" f polygonWire src/Picture/Base.hs 64;" f
polysToPic src/Polyhedra.hs 130;" f polysToPic src/Polyhedra.hs 130;" f
popScreen src/Dodge/Menu/PushPop.hs 6;" f popScreen src/Dodge/Menu/PushPop.hs 6;" f
posRms src/Dodge/Tree/Shift.hs 44;" f posRms src/Dodge/Tree/Shift.hs 44;" f
@@ -4621,7 +4623,7 @@ reflectPulseLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 65;" f
refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f
regexCombs src/Dodge/DisplayInventory.hs 71;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f
regexList src/Dodge/DisplayInventory.hs 309;" f regexList src/Dodge/DisplayInventory.hs 311;" f
reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f
reloadLevelStart src/Dodge/Save.hs 71;" f reloadLevelStart src/Dodge/Save.hs 71;" f
reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 632;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 632;" f
@@ -4715,7 +4717,7 @@ rose src/Color.hs 20;" f
rotD src/Padding.hs 44;" f rotD src/Padding.hs 44;" f
rotMatr src/MatrixHelper.hs 79;" f rotMatr src/MatrixHelper.hs 79;" f
rotU src/Padding.hs 39;" f rotU src/Padding.hs 39;" f
rotate src/Picture/Base.hs 153;" f rotate src/Picture/Base.hs 154;" f
rotate3 src/Geometry/Vector3D.hs 48;" f rotate3 src/Geometry/Vector3D.hs 48;" f
rotate3x src/Geometry/Vector3D.hs 60;" f rotate3x src/Geometry/Vector3D.hs 60;" f
rotate3y src/Geometry/Vector3D.hs 66;" f rotate3y src/Geometry/Vector3D.hs 66;" f
@@ -4764,8 +4766,8 @@ saveSlotPath src/Dodge/Save.hs 63;" f
saveWorldInSlot src/Dodge/Save.hs 68;" f saveWorldInSlot src/Dodge/Save.hs 68;" f
sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 754;" f sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 754;" f
scToTS src/Dodge/Event/Input.hs 34;" f scToTS src/Dodge/Event/Input.hs 34;" f
scale src/Picture/Base.hs 149;" f scale src/Picture/Base.hs 150;" f
scale3 src/Picture/Base.hs 145;" f scale3 src/Picture/Base.hs 146;" f
scaleMat src/MatrixHelper.hs 71;" f scaleMat src/MatrixHelper.hs 71;" f
scaleMatrix src/MatrixHelper.hs 68;" f scaleMatrix src/MatrixHelper.hs 68;" f
scaleSH src/Shape.hs 265;" f scaleSH src/Shape.hs 265;" f
@@ -4825,14 +4827,14 @@ setChannelPos src/Sound.hs 151;" f
setClickWorldPos src/Dodge/Update.hs 101;" f setClickWorldPos src/Dodge/Update.hs 101;" f
setClip src/Dodge/Debug.hs 193;" f setClip src/Dodge/Debug.hs 193;" f
setClusterID src/Dodge/Combine/Graph.hs 114;" f setClusterID src/Dodge/Combine/Graph.hs 114;" f
setDepth src/Picture/Base.hs 128;" f setDepth src/Picture/Base.hs 129;" f
setDirPS src/Dodge/PlacementSpot.hs 49;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f
setFallback src/Dodge/PlacementSpot.hs 125;" f setFallback src/Dodge/PlacementSpot.hs 125;" f
setInLinks src/Dodge/RoomLink.hs 53;" f setInLinks src/Dodge/RoomLink.hs 53;" f
setInLinksByType src/Dodge/RoomLink.hs 72;" f setInLinksByType src/Dodge/RoomLink.hs 72;" f
setInLinksPD src/Dodge/RoomLink.hs 92;" f setInLinksPD src/Dodge/RoomLink.hs 92;" f
setInvPosFromSS src/Dodge/Inventory/Location.hs 92;" f setInvPosFromSS src/Dodge/Inventory/Location.hs 92;" f
setLayer src/Picture/Base.hs 139;" f setLayer src/Picture/Base.hs 140;" f
setLinkType src/Dodge/RoomLink.hs 78;" f setLinkType src/Dodge/RoomLink.hs 78;" f
setLinkTypePD src/Dodge/RoomLink.hs 85;" f setLinkTypePD src/Dodge/RoomLink.hs 85;" f
setMusicVolume src/Sound.hs 163;" f setMusicVolume src/Sound.hs 163;" f
@@ -5041,7 +5043,7 @@ ssSetCursor src/Dodge/SelectionSections.hs 59;" f
ssfold src/FoldableHelp.hs 105;" f ssfold src/FoldableHelp.hs 105;" f
stackPicturesAt src/Dodge/Render/List.hs 99;" f stackPicturesAt src/Dodge/Render/List.hs 99;" f
stackPicturesAtOff src/Dodge/Render/List.hs 102;" f stackPicturesAtOff src/Dodge/Render/List.hs 102;" f
stackText src/Picture/Base.hs 188;" f stackText src/Picture/Base.hs 189;" f
stackedInventory src/Dodge/Creature.hs 309;" f stackedInventory src/Dodge/Creature.hs 309;" f
startCr src/Dodge/Creature.hs 90;" f startCr src/Dodge/Creature.hs 90;" f
startCrafts src/Dodge/Room/Start.hs 93;" f startCrafts src/Dodge/Room/Start.hs 93;" f
@@ -5071,7 +5073,7 @@ strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f
strictify src/MaybeHelp.hs 35;" f strictify src/MaybeHelp.hs 35;" f
strideRot src/Dodge/Item/HeldOffset.hs 71;" f strideRot src/Dodge/Item/HeldOffset.hs 71;" f
stringToList src/Picture/Base.hs 313;" f stringToList src/Picture/Base.hs 317;" f
stringToListGrad src/Picture/Text.hs 12;" f stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f stripZ src/Geometry/Vector3D.hs 97;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f subInvX src/Dodge/ListDisplayParams.hs 48;" f
@@ -5130,26 +5132,26 @@ teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f
testEvent src/Dodge/Event/Test.hs 11;" f testEvent src/Dodge/Event/Test.hs 11;" f
testInventory src/Dodge/Creature.hs 290;" f testInventory src/Dodge/Creature.hs 290;" f
testStringInit src/Dodge/TestString.hs 34;" f testStringInit src/Dodge/TestString.hs 34;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 194;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textInputBlurb src/Dodge/Terminal.hs 37;" f textInputBlurb src/Dodge/Terminal.hs 37;" f
textInputFocus src/Dodge/InputFocus.hs 11;" f textInputFocus src/Dodge/InputFocus.hs 11;" f
textJustifyCenter src/Picture/Base.hs 212;" f textJustifyCenter src/Picture/Base.hs 216;" f
textJustifyLeft src/Picture/Base.hs 208;" f textJustifyLeft src/Picture/Base.hs 212;" f
textJustifyRight src/Picture/Base.hs 198;" f textJustifyRight src/Picture/Base.hs 202;" f
textRight src/Picture/Base.hs 203;" f textRight src/Picture/Base.hs 207;" f
textTerminal src/Dodge/Terminal.hs 34;" f textTerminal src/Dodge/Terminal.hs 34;" f
textVMirror src/Picture/Base.hs 216;" f textVMirror src/Picture/Base.hs 220;" f
tflat2 src/Picture/Data.hs 56;" f tflat2 src/Picture/Data.hs 56;" f
tflat3 src/Picture/Data.hs 60;" f tflat3 src/Picture/Data.hs 60;" f
tflat4 src/Picture/Data.hs 64;" f tflat4 src/Picture/Data.hs 64;" f
theCleanup appDodge/Main.hs 65;" f theCleanup appDodge/Main.hs 65;" f
theColumns src/Dodge/Tree/Shift.hs 146;" f theColumns src/Dodge/Tree/Shift.hs 146;" f
theUpdateStep appDodge/Main.hs 101;" f theUpdateStep appDodge/Main.hs 101;" f
thickArc src/Picture/Base.hs 298;" f thickArc src/Picture/Base.hs 302;" f
thickCircle src/Picture/Base.hs 272;" f thickCircle src/Picture/Base.hs 276;" f
thickLine src/Picture/Base.hs 244;" f thickLine src/Picture/Base.hs 248;" f
thickLineCol src/Picture/Base.hs 255;" f thickLineCol src/Picture/Base.hs 259;" f
thinHighBar src/Dodge/Room/Foreground.hs 77;" f thinHighBar src/Dodge/Room/Foreground.hs 77;" f
thingHit src/Dodge/WorldEvent/ThingsHit.hs 118;" f thingHit src/Dodge/WorldEvent/ThingsHit.hs 118;" f
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 106;" f thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 106;" f
@@ -5180,7 +5182,7 @@ tlSetStatus src/Dodge/Terminal.hs 99;" f
tmDistributeAmmo src/Dodge/WorldEffect.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 112;" f
tmDistributeLines src/Dodge/Room/Room.hs 449;" f tmDistributeLines src/Dodge/Room/Room.hs 449;" f
tmUpdate src/Dodge/Update.hs 489;" f tmUpdate src/Dodge/Update.hs 489;" f
toBinary src/Dodge/Inventory/SelectionList.hs 142;" f toBinary src/Dodge/Inventory/SelectionList.hs 144;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f toColor8 src/Color.hs 148;" f
@@ -5192,7 +5194,7 @@ toTopLeft src/Dodge/Render/List.hs 226;" f
toV2 src/Geometry/Data.hs 54;" f toV2 src/Geometry/Data.hs 54;" f
toV3 src/Geometry/Data.hs 57;" f toV3 src/Geometry/Data.hs 57;" f
toV4 src/Geometry/Data.hs 60;" f toV4 src/Geometry/Data.hs 60;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 312;" f toggleCombineInv src/Dodge/DisplayInventory.hs 314;" f
toggleCommands src/Dodge/Terminal.hs 77;" f toggleCommands src/Dodge/Terminal.hs 77;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f
@@ -5217,14 +5219,14 @@ tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 416;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 416;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f tranRot src/Picture/Base.hs 125;" f
transMat src/MatrixHelper.hs 87;" f transMat src/MatrixHelper.hs 87;" f
transToHandle src/Dodge/Item/HeldOffset.hs 26;" f transToHandle src/Dodge/Item/HeldOffset.hs 26;" f
translate src/Picture/Base.hs 116;" f translate src/Picture/Base.hs 117;" f
translate3 src/Picture/Base.hs 120;" f translate3 src/Picture/Base.hs 121;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 48;" f translateFloatingCamera src/Dodge/Update/Camera.hs 48;" f
translateFloatingCameraKeys src/Dodge/Update/Camera.hs 66;" f translateFloatingCameraKeys src/Dodge/Update/Camera.hs 66;" f
translateH src/Picture/Base.hs 112;" f translateH src/Picture/Base.hs 113;" f
translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f translatePointToLeftHand src/Dodge/Creature/HandPos.hs 75;" f
translatePointToRightHand src/Dodge/Creature/HandPos.hs 36;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 36;" f
translateSH src/Shape.hs 241;" f translateSH src/Shape.hs 241;" f
@@ -5269,7 +5271,7 @@ tryMeleeAttack src/Dodge/Creature/ReaderUpdate.hs 40;" f
tryPickupSelected src/Dodge/Update/Input/InGame.hs 145;" f tryPickupSelected src/Dodge/Update/Input/InGame.hs 145;" f
tryPlay src/Sound.hs 84;" f tryPlay src/Sound.hs 84;" f
tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f tryPutItemInInv src/Dodge/Inventory/Add.hs 24;" f
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 53;" f tryPutItemInInvAt src/Dodge/Inventory/Add.hs 54;" f
trySeedFromClipboard src/Dodge/Menu.hs 96;" f trySeedFromClipboard src/Dodge/Menu.hs 96;" f
trySpin src/Dodge/Projectile/Update.hs 117;" f trySpin src/Dodge/Projectile/Update.hs 117;" f
trySynthBullet src/Dodge/Creature/State.hs 167;" f trySynthBullet src/Dodge/Creature/State.hs 167;" f
@@ -5296,7 +5298,7 @@ twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 570;" f
twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f
twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 618;" f
ubyteSize src/Shader/Parameters.hs 13;" f ubyteSize src/Shader/Parameters.hs 13;" f
ugateCalc src/Dodge/Inventory/SelectionList.hs 113;" f ugateCalc src/Dodge/Inventory/SelectionList.hs 115;" f
uncurryV src/Geometry/Data.hs 66;" f uncurryV src/Geometry/Data.hs 66;" f
underBarrelSlot src/Dodge/Item/Scope.hs 159;" f underBarrelSlot src/Dodge/Item/Scope.hs 159;" f
unfoldrMID src/MonadHelp.hs 33;" f unfoldrMID src/MonadHelp.hs 33;" f